需要帮助从网页中提取一些文本使用美丽的汤。对我来说,很难弄清楚如何编写代码,所以如果有人能帮助我,我将非常感激。
在https://www.smhi.se/vadret/vadret-i-sverige/meteorologens-kommentar#ws=wpt-a,proxy=wpt-a,area=3上,我想将名为"Prognos för Nordvästra Götaland“的框中的文本提取到文本文件中。我会在我的树莓派上运行这个。有没有一个“简单的”漂亮的脚本来完成这件事?当我安装bs4时,我得到了一个基本的脚本,看起来像这样:
import requests
from bs4 import BeautifulSoup
print "Opening site..."
f = requests.get('https://www.smhi.se/vadret/vadret-i-sverige/meteorologens-kommentar#ws=wpt-a,proxy=wpt-a,area=3')
soup = BeautifulSoup(f.text,'lxml')
print soup
这将打印html页面的内容。
发布于 2020-02-01 05:57:30
您在页面上看到的数据是通过JavaScript动态加载的(因此BeautifulSoup在这里对您没有帮助)。但是你可以用requests
模块模拟Ajax请求:
import json
import requests
data_url = 'https://www.smhi.se/wpt-a/backend_metcomments/frodo/oversikt_text'
data = requests.get(data_url).json()
# print(json.dumps(data, indent=4)) # <-- uncomment this to see all data
with open('output.txt', 'w') as f_out:
print(data['districts']['NORDVÄSTRA GÖTALAND']['header'], file=f_out)
print(data['districts']['NORDVÄSTRA GÖTALAND']['text'], file=f_out)
这将生成包含以下内容的文件output.txt
:
Mycket milt och en smula blåsigt
Mycket moln, sent i kväll och under inledningen av natten passerande regn. I morgon lördag skurar och 5-8 grader. Sydvästlig vind, efterhand med friska vindbyar.
https://stackoverflow.com/questions/60011570
复制相似问题