我正在尝试从this网站上抓取公司名称,但该网站不会自动列出公司的完整列表。通过浏览器进行互动时,该网站会加载约25家公司,然后滚动浏览时,它会加载约25家公司,直至到达列表末尾。当我使用Beautiful Soup刮取公司名称时,我只会得到25个名称。
有没有办法用Beautiful Soup(或python中的其他库)抓取所有名称?
答案 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
中。