【发布时间】:2021-02-09 09:55:27
【问题描述】:
我正在尝试使用 website 获取与 COVID 相关的数据。数据包含在iframe 标记中。我尝试使用beautifulsoup 抓取结果,但无法提取#document。这是我的方法
import requests
from bs4 import BeautifulSoup
with requests.Session() as s:
coo = s.get("https://www.theguardian.com/", headers={'User-Agent': 'Mozilla/5.0'})
cookies = dict(coo.cookies)
url = "https://www.theguardian.com/world/2020/oct/25/covid-world-map-countries-most-coronavirus-cases-deaths"
webpage = s.get(url, headers={'User-Agent': 'Mozilla/5.0'}, cookies = cookies)
soup = BeautifulSoup(webpage.content, "html.parser")
frame = soup.find("iframe", class_ = "interactive-atom-fence")
print(frame)
我的结果:
检查来自网站的数据:
有人可以解释为什么我的结果中缺少#document 部分吗?
【问题讨论】:
-
关闭您正在抓取的页面上的
JS(JavaScript) 并亲自查看。BeautifulSoup不看到动态内容。因此你缺乏结果。
标签: python dom beautifulsoup python-requests screen-scraping