【问题标题】:Waiting for the loading page with scrapy用scrapy等待加载页面
【发布时间】:2015-07-11 05:36:39
【问题描述】:

我正在尝试使用 FormRequest 来获取网页内容以绕过表单。但问题是,在这个表单之后,有一个带有加载栏的页面,只有在这个栏满了之后,网站才会向我显示我想要的内容。 scrapy 脚本在 Response 对象中提供加载页面,而不是具有我想要的结果的最终网页。我能做些什么来解决这个问题?我相信也许我需要设置一个计时器让爬虫等待加载页面完成他的工作。

【问题讨论】:

    标签: web-scraping scrapy


    【解决方案1】:

    在进行基本的 HTML 抓取时没有等待的概念。 Scrapy 向网络服务器发出请求并接收响应——该响应就是你得到的全部。

    页面上的加载栏很可能是使用 Javascript 来呈现页面的结果。一个普通的浏览器似乎会在页面上等待 - 在引擎盖下,它正在运行 Javascript,并且可能在它有足够的信息来呈现页面之前向网络服务器发出更多请求。

    为了以编程方式复制结果,您必须以某种方式呈现该 Javascript。不幸的是,Scrapy 没有内置该功能。

    您的一些选项包括:

    http://www.seleniumhq.org/

    https://github.com/scrapinghub/splash

    【讨论】:

      猜你喜欢
      • 2020-01-04
      • 2017-09-13
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 2018-03-20
      相关资源
      最近更新 更多