Scrapyをちょっと触ってみて

まだまだわかっていないが現時点でわかった知見をメモ

  • scrapy shell [url]であらかじめアドホックCSSセレクタを調べて、それをそのままSpiderにすれば早い
  • リンクをたどっていく形式のSpiderは CrawlSpiderを使うとよい。一般的なユースケースがカバーできる。
  • 要素が可変なテーブルなどで、スクレイピング対象のDOMが特定しにくい場合、「○○という文字列の次にあるtd要素」のように「次の」「前の」指定をしたいことがある。そのようなケースはCSSセレクターでは処理できない。代わりにxpathを使う。

例:”住所”という文字列の次にあるtd要素を取得

address = response.xpath("//*[text()='住所']/following-sibling::td").extract_first()