3 回答

TA貢獻1757條經(jīng)驗 獲得超8個贊
我相信,如果您清理 HTML 標記,然后使用 NLTK 的句子標記器對段落進行標記,那么您應(yīng)該很高興。
from nltk.tokenize import sent_tokenize
import urllib.parse
import requests
import re
main_api = "https://api.tfl.gov.uk/AirQuality?"
idno = "1"
url = main_api + urllib.parse.urlencode({"$id": idno})
json_data = requests.get(main_api).json()
disclaimer = json_data['disclaimerText']
print("Disclaimer: " + disclaimer)
print()
# Clean out HTML tags
today_weather_str = re.sub(r'<.*?>', '', json_data['currentForecast'][0]['forecastText'])
# Get the first two sentences out of the list
today_weather = ' '.join(sent_tokenize(today_weather_str)[:2])
print("Today's forecast: {}".format(today_weather))

TA貢獻1719條經(jīng)驗 獲得超6個贊
如果您要編寫一個沒有為每個數(shù)據(jù)集顯式編碼的腳本,那么您需要找到某種模式,如果該模式是您想要的字符串始終是前兩行,那么您可以使用for循環(huán):
data = [line for line in your_variable_here]
data = data[:2]
如果似乎有關(guān)于簡化預(yù)測的模式,您也可以嘗試使用正則表達式。
但是,如果沒有更多關(guān)于數(shù)據(jù)集是什么樣子的信息,我認為這是我能想到的最好的。

TA貢獻1827條經(jīng)驗 獲得超9個贊
這些“隨機符號”
<br/>
是一個 HTML 編碼
<br/>
或 HTML 中的新行,因此看起來像是一個可靠的拆分方法:
lines = today_weather.split('<br/>')
我認為可以合理地假設(shè)第一行就是您所追求的:
short_forecast = lines[0]
時間會證明這是否正確,但您可以輕松調(diào)整以包含更多或更少。
添加回答
舉報