4

Scrapy シェルは xpath 式をデバッグするための優れたツールですが、crawlspider でルールをデバッグするためのツールまたは方法はありますか? これは、規則が自分の望むように機能することをどのように知ることができるかを意味します。

私のルールは:

rules = (
        Rule(SgmlLinkExtractor(allow=r'/search*',restrict_xpaths="//a[@id='pager_page_next']"), follow=False),
        #Rule(SgmlLinkExtractor(allow=r'/chart/[\d]+s$'), callback='parse_toplist_page', follow=True),
    )

それは私が望むリンクをたどらないので、どのようにデバッグするのですか?例はありますか?

4

2 に答える 2

5

Scrapyparseコマンドを試しましたか?

scrapy parse <URL>

テストするURLはどこ<URL>にありますか。

そのURLから抽出された(追跡される)すべてのリンクが返されます。

引数を使用して--noitemsリンクのみを表示し、引数を使用し--spiderてスパイダーを明示的に指定できます。

scrapy parse <URL> --noitems --spider <MYSPIDER>

スパイダーのデバッグの詳細については、http: //doc.scrapy.org/en/latest/topics/debug.htmlを参照してください。

ユーザーグループでPablohoffmanによって提供されたこの回答:https ://groups.google.com/forum/?fromgroups =#!topic / scrapy-users / tOdk4Xw2Z4Y

于 2013-02-04T22:26:11.603 に答える
1

私はそうは思わない、私は通常、スパイダーを緩め、コマンドプロンプトでどのサイトにヒットしているかを確認する必要があります。コントロールCでプログラムを強制終了できず、タスクマネージャーを起動してコマンドプロンプト全体を強制終了しなければならない場合があります。それは苦痛です。

于 2013-01-02T14:34:13.763 に答える