如何使用sckit进行webkit

时间:2012-10-28 10:49:58

标签: python webkit scrapy

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

另外,我理解蜘蛛对象将作为最后一个参数在process_request中传递。应该是哪个对象?对不起,我是python,scrapy和webkit的新手,所以可能会问questins有明显的答案。

1 个答案:

答案 0 :(得分:2)

您没有手动“调用”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,
    ...
}

这应该让你的中间件工作。