对无法滚动加载的网站使用美丽汤

时间:2018-10-22 03:45:27

标签: python web-scraping beautifulsoup

我正在尝试从this网站上抓取公司名称,但该网站不会自动列出公司的完整列表。通过浏览器进行互动时,该网站会加载约25家公司,然后滚动浏览时,它会加载约25家公司,直至到达列表末尾。当我使用Beautiful Soup刮取公司名称时,我只会得到25个名称。

有没有办法用Beautiful Soup(或python中的其他库)抓取所有名称?

1 个答案:

答案 0 :(得分:2)

向下滚动时正在加载的数据是额外的请求URL“ http://fortune.com/api/v2/list/1141696/expand/item/ranking/asc/20/30

20-当前页面中的项目数,30-在下一页中获得的项目数。

如果要获取下一页,则需要形成

之类的URL。

http://fortune.com/api/v2/list/1141696/expand/item/ranking/asc/50/30 http://fortune.com/api/v2/list/1141696/expand/item/ranking/asc/80/30 http://fortune.com/api/v2/list/1141696/expand/item/ranking/asc/110/30 等等。

由于它是json响应,因此无法在BeautifulSoup中呈现。

公司列表存储在json响应的值setup.py中。