Scrapy Crawlspider の「ルール」セクションを適切に機能させようとしています。
xpath
フォローしたいリンクを返すを見つけました。これは
//*[@class="course_detail"]//td[4]/a/@href
合計で約 2700 の URL が返されます。
基本的に、私はスパイダーにそれに一致するすべてのものに従うように伝えようとしてxpath
いますが、次のコードを正しく動作させることができません:
rules = (
Rule(SgmlLinkExtractor( allow=[r'.*'],
restrict_xpaths='//*[@class="course_detail"]//td[4]/a/@href'
),
callback='parse_item'
),
)
エラーは発生しませんが、スパイダーは で定義したページを通過していないようですstart_urls
。
編集:それを理解しました!@hrefを削除する必要がありました。Hayden のコードも役に立ったので、彼に答えを与えます。