繁体   English   中英

Python 网页抓取,如何使用 Requests-HTML 库单击“下一步”

[英]Python Web-scraping, How to click 'Next' using Requests-HTML library

我正在尝试使用 python requests-html 模块从“ https://fortune.com/global500/2019/search/ ”获取数据。 我能够获得第 100 个项目(从第一页),因为该页面启用了 javascript。 我们需要点击“下一步”来加载第二页,目前我只得到第 100 个项目。

当我在浏览器上单击“下一步”时,地址栏上的 url 没有改变。 所以我不知道如何使用 requests-html 获取下一页。

from requests_html import HTMLSession

def get_fortune500():
    companies = []
    url = 'https://fortune.com/global500/2019/search/'
    session = HTMLSession()
    r = session.get(url)
    r.html.render(wait=1, retries=2)
    table = r.html.find('div.rt-tbody', first=True)
    rows = table.find('div.rt-tr-group')
    for row in rows:
        row_data = []
        cells = row.find('div.rt-td')
        for cell in cells:
            celldata = cell.text.lstrip('$').replace(',', '')
            row_data.append(celldata)
        companies.append(row_data)
    return companies

fortune_list = get_fortune500()
print(fortune_list)
print(len(fortune_list))

我真的很感激你的时间。

这是所有 500 个的列表

https://content.fortune.com/wp-json/irving/v1/data/franchise-search-results?list_id=2666483

该网站将此 API 的响应存储在浏览器 IndexedDB 中,然后只有前端控制。

您可以找出从第一个请求中读取该响应的方法。

虽然您可以通过导航到@Jugraj 提到的 JSON 来完成,但如果您想了解有关requests-html 的更多信息,您可以随时查找requests-html的官方文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM