【Scrapy】Book Store Clawler
今回の章
セクション12:Building Web Crawler with Scrapy
今回の目的
Book Storeクローラー作成 → Class名をCrawlSpiderにする事でRuleを使えるようにする。
CrawlSpider
Ruleは以下の通り
rules = (Rule(LinkExtractor(), callback='parse_page', follow=True),)
Rule(LinkExtractor()はサイト上のURLを抜き取ってくれる関数である。もし何も設定しないとスパイダーは全てのリンクを探そうとします。そのため、Rulesで設定をします。
allow=’catalogue/’
URLにカタログが入っているリンクのみ有効になる。
callback=parse_page
すべてのリンク取得後にparse_pageメソッド実行をしている。
follow=True
抽出された各レスポンスからリンクをたどるかどうかを指定する。
その他:
'deny_list'は設定すると拒否する項目を設定できる。ただし拒否があまりにも多い場合は使いにくい。
'restrict_list'はスパイダーはその対象のHTML要素のみリンクを探してくれます。
'unique=True'は重複したURLを検出しない設定です。
<主なパラメータ>
・allow:
・deny:
・allow_domains:
・deny_domains:
・restrict_xpaths:
<ルールはこのどれか>
・callback:
・follow:
・process_links:
・process_request:
follow=TrueとFalse
Flaseはページ内のリンクのみ取得する。