【问题标题】:How to crawl pages with infinite auto-scroll?如何抓取无限自动滚动的页面?
【发布时间】:2013-07-15 19:36:35
【问题描述】:

我想在具有自动下一页滚动功能的页面中抓取用户名(向下滚动时,它会显示更多结果)。假设我想获取this page 上的所有用户名。知道该怎么做吗?

【问题讨论】:

    标签: python web-crawler autoscroll


    【解决方案1】:

    当您滚动到该页面的末尾时,会向以下网址发出 ajax 请求:

    http://tch578489.tch.quora.com/up/chan3-8882/updates?min_seq=27815516&channel=main-w-dep16-2927332319247211033

    您需要弄清楚它是如何生成该 url 并在那里发出您的请求,然后对其进行解析。

    【讨论】:

    • 这是无限滚动数据的来源网址,如果您使用 Chrome,请查看 webinspector 中的网络选项卡以查看网站发出的请求。
    • 所以如果在 python 中我为此发出 urlopen 请求,我会得到下一页?
    • 当我打开时,我收到一条消息,如 "({"messages": ["require.enqueue(function(require){require(\"w2.livenode\").reportPageNeedsReload(\" lost_group\")})"], "min_seq": 28309793})"
    • 这需要您做一些工作,您需要查看网站如何在 JavaScript 中生成这些 URL,然后在您的 python 中使用该逻辑来检索列表,最后您需要弄清楚如何解析响应。
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 2021-12-10
    相关资源
    最近更新 更多