【问题标题】:Problems scraping a website with a preloader使用预加载器抓取网站的问题
【发布时间】:2020-11-09 21:16:24
【问题描述】:

我正在尝试抓取这个网站

https://www.neds.com.au/sports/esports

我正在使用 scrapy 来执行此操作,但我所做的任何尝试都只会抓取预加载器页面。我只是使用了错误的工具吗?

【问题讨论】:

  • 这就是他们有预加载器页面的原因;)像scrapy这样的库通常不执行任何javascript,因此不会加载任何内容,这意味着您只需获取预加载器页面的原始html
  • 根据 Luke 的说法,您需要使用 splash-scrapy 或 selenium scrapy 来执行此操作。
  • 感谢您的回复,非常感谢。

标签: python web beautifulsoup scrapy screen-scraping


【解决方案1】:

无论你最终使用什么工具,它都必须监控 DOM 的变化,并且只有在 DOM 稳定时才开始实际的抓取(内容在任意时间内不再变化)。

一个这样的工具是开源浏览器扩展https://github.com/get-set-fetch/extension。它基于 CSS 选择器进行抓取,并具有“稳定性超时”选项。

来自文档:稳定性超时 - 当在指定时间量(毫秒)内没有更多 DOM 更改时,考虑页面已加载并准备好被抓取。仅适用于 html 资源。对于绕过预加载器内容很有用。

免责声明:我是扩展作者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多