3

Javascript によって生成された Web ページを破棄する必要があります。href は次のようになります。

<a href="javascript:__doPostBack('pager','4')" style="margin-right:5px;">[4]</a>

私はスクレイピーで WebkitDownloader を書きましたが、動作します。

class WebkitDownloader( object ):
def process_request( self, request, spider ):
    if spider.name in settings.WEBKIT_DOWNLOADER:
        if( type(request) is not FormRequest ):
            print '===================Processing non-FormRequest=================='
            webview = webkit.WebView()
            webview.connect( 'load-finished', lambda v,f: gtk.main_quit() )
            webview.load_uri( request.url )
            gtk.main()
            js = jswebkit.JSContext( webview.get_main_frame().get_global_context() )
            renderedBody = str( js.EvaluateScript( 'document.documentElement.innerHTML' ) )
            #print renderedBody
            return HtmlResponse( request.url, body=renderedBody )

WebkitDownloaderスパイダー解析モジュールでリクエストを送信する方法がまだわかりません。次のようなものを使用request.append('javascript:__doPostBack('pager','4')')して、Javascript リクエストを WebkitDownloader に送信できますか? または、Javascript リクエストを作成する方法は?

4

1 に答える 1