首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从网页中提取文本

从网页中提取文本
EN

Stack Overflow用户
提问于 2020-02-01 05:37:34
回答 1查看 91关注 0票数 0

需要帮助从网页中提取一些文本使用美丽的汤。对我来说,很难弄清楚如何编写代码,所以如果有人能帮助我,我将非常感激。

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时,我得到了一个基本的脚本,看起来像这样:

代码语言:javascript
运行
复制
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页面的内容。

EN

回答 1

Stack Overflow用户

发布于 2020-02-01 05:57:30

您在页面上看到的数据是通过JavaScript动态加载的(因此BeautifulSoup在这里对您没有帮助)。但是你可以用requests模块模拟Ajax请求:

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
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.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60011570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档