我正试图从这本书中摘得全美前100名的工作。当我运行此代码时:
import urllib.request
from bs4 import BeautifulSoup
url = 'https://www.ranker.com/list/most-common-jobs-in-america/american-jobs'
page_opened = urllib.request.urlopen(url)
soup = BeautifulSoup(page_opened, 'html.parser')
jobs_soup = soup.find_all('span','listItem__title')
print(jobs_soup)
“靓汤”的回报和我预期的一样,职位头衔周围都是标签,只是“中学教师”的头衔只有100个职位中的25个。我在其他网页上也用过同样的方法。网页/我的代码有没有什么奇怪的地方导致输出不完整
在浏览器的开发工具中打开了network选项卡,我看到在滚动时发出了XHR请求,其中一些响应包含列表项。您只能获取前24项,因为这些请求未被触发。其中一个请求的url是:
https://cache-api.ranker.com/lists/354954/items?limit=20&offset=50&include=votes,wikiText,rankings,openListItemContributors&propertyFetchType=ALL&liCacheKey=null
通过将“限制”更改为100,将“偏移”更改为0,我可以获得前100个工作:
输出:
相关问题 更多 >
编程相关推荐