从网页中提取文本

问题描述 投票:0回答:1

需要有关使用beautifulsoup从网页中提取文本的帮助。对我来说,很难弄清楚如何编写代码,因此,如果有人可以帮助我,我将非常感激。

https://www.smhi.se/vadret/vadret-i-sverige/meteorologens-kommentar#ws=wpt-a,proxy=wpt-a,area=3上我想将“ PrognosförNordvästraGötaland”框中的文本提取到文本文件中。我将在我的树莓派上运行它。是否有一个“简单的” beautifulsoup脚本来完成此任务?我在安装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页面的内容。

python beautifulsoup extract
1个回答
0
投票

您在页面上看到的数据是通过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.
© www.soinside.com 2019 - 2024. All rights reserved.