【问题标题】:How to use webkit with scrapy如何将 webkit 与 scrapy 一起使用
【发布时间】:2012-12-11 03:46:00
【问题描述】:

我需要用 javascript 抓取一个网页,看起来这在 http://snipplr.com/view/66996/renderedinteractive-javascript-with-gtkwebkitjswebkit/ 的示例中得到了解决 问题中提到的Extracting data from Web 代码使用 webkit 下载器类。我知道我需要调用 process_request 函数。我在请求中作为参数传递了什么。我查看了scrapy文档,看看我是否必须传递在scrapy中创建的请求对象,但这不起作用。

另外,我知道蜘蛛对象将作为最后一个参数传入 process_request。那应该是哪个对象?抱歉,我是 python、scrapy 和 webkit 的新手,所以可能会问一些有明显答案的问题。

【问题讨论】:

    标签: python webkit scrapy


    【解决方案1】:

    您无需手动“调用”process_request,您只需声明它,引擎将使用所有正确的参数调用它。只需创建一个名为 middleware.py 的文件(或任何您想调用的名称)并输入:

    ...
    class WebkitDownloader( object ):
        def process_request( self, request, spider ):
            if not isinstance(request, FormRequest):
                webview = webkit.WebView()
                ...
    

    以及其他所有内容,然后在您的 settings.py 文件中输入:

    DOWNLOADER_MIDDLEWARES = {
        'mybot.middleware.WebkitDownloader': 1000,
        ...
    }
    

    这应该可以让您的中间件正常工作。

    【讨论】:

      猜你喜欢
      • 2014-02-10
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多