我是python的新手,目前正在学习该语言。出于教育目的,我试图在网上浏览《财富》500强企业名单https://fortune.com/fortune500/2021/search用于我的分析
我有点被卡住了。我能够到达下面这么远,但结果是空的。有人能帮忙吗?感谢
我在谷歌colab中使用ipynb笔记本进行此练习。我正在尝试将表的内容打印到csv文件中。
from urllib.request import urlopen
from bs4 import BeautifulSoup
url = "https://fortune.com/fortune500/2021/search"
try:
page = urlopen(url)
except:
print("Error opening the URL")
# create a BeautifulSoup object for parsing
soup = BeautifulSoup(page, 'html.parser')
table_div = soup.find('div', {'class': 'rt-tbody'})
您不能使用beautifulsoup
刮取站点。该表是使用JavaScript
呈现的,因此该表不存在于页面的源html中。如果你想刮,你可以使用pyppeteer,首先渲染页面并获得html。
但是,数据可以在此url上找到
https://content.fortune.com/wp-json/irving/v1/data/franchise-search-results?list_id=3040727&token=Zm9ydHVuZTpCcHNyZmtNZCN5SendjWkkhNHFqMndEOTM=
它包含一个令牌,因此url可能在一段时间后不起作用,但您仍然可以打开DevTools,在XHR
过滤的Network Tab
上查找url。