0

美しいスープで作成された文字列から整数を抽出するのに助けが必要です。これは私が持っている次のコードです。

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup

#San Pedro 
url = "http://www.ndbc.noaa.gov/mobile/station.php?station=46222"
r = requests.get(url)

soup = BeautifulSoup(r.content, "html.parser")

g_data = soup.find_all("body")

for item in g_data:
    #Wheater Conditions
       print item.contents[6]

    #Wave Summary 
       print item.contents[9]

次の出力が表示されます。

午後 9 時 19 分 PST 2015 年 12 月 1 日
海: 3.9 フィート (1.2 m)
ピーク期間: 15 秒
水温: 65 °F (18 °C)

午後 9 時 19 分 PST 2015 年 12 月 01 日
うねり: 3.0 フィート (0.9 m)
周期: 15.4 秒
方向:西
風 波: 2.3 フィート (0.7 m)
周期: 9.9 秒
方向: W

HTML版

 <p>9:19 pm PST 01-Dec-2015<br>
<b>Seas:</b> 3.9 ft (1.2 m)<br>
<b>Peak Period:</b> 15 sec<br>
<b>Water Temp:</b> 65 °F (18 °C)<br>
</br></br></br></br></p>
<p>
9:19 pm PST 01-Dec-2015<br>
<b>Swell:</b> 3.0 ft (0.9 m)<br>
<b>Period:</b> 15.4 sec<br>
<b>Direction:</b> W<br>
<b>Wind Wave:</b> 2.3 ft (0.7 m)<br>
<b>Period:</b> 9.9 sec<br>
<b>Direction:</b> W<br>
</br></br></br></br></br></br></br></p>

各カテゴリの個別の値を取得する必要があります IE は、swell = 3.0 などの値を作成します。

ありがとう

4

2 に答える 2

0

浮動小数点数が必要な場合は、整数ではなく浮動小数点数が必要です。文字列から単純に数値を取得するには、次のようにします。

if your_string.isdigit():
    your_float = float(your_string)
于 2015-12-02T06:52:23.427 に答える
0

これが最善の解決策であるとは限りませんが、次のようなことが必要です:

def extractInt(string) :
    stringToReturn = ""
    for x in string :
        if x.isdigit() or x==" " :
            stringToReturn = stringToReturn + x
    return stringToReturn

必要な文字列でこの関数を呼び出すだけです。

于 2015-12-02T06:46:26.460 に答える