ホーム > python | 技術系 > Scrapyでクロール中にリンク先のページから抽出した要素を追加する

Scrapyでクロール中にリンク先のページから抽出した要素を追加する

pyhtonのスクレイピングのフレームワーク「Scrapy」で、以下のことを実装しようと思い、方法で行き詰まってしまいました。

スクレイピング中に、リンク先のページから特定の要素を取得し、元の処理に加える

要するに、以下のようなイメージです。

上記のような処理は、Scrapyでよく遭遇します。

parseの処理中に、リンク先のページから要素を取得し、yieldで返します。

ただし、上記の記述は、処理2で返した辞書型の要素を、そのままRequest型で返すため、単にリンク先のページで特定の値だけ取得してその後の処理でその値を使いたい場合には、上手く処理することができません。

どう解決したらいいかを考えてみたのですが、結論としては、Scrapy.Requestを使用しないということで解決しました。

URLは確定していて、リンク先のページの特定の要素を取得したいだけであれば、他のライブラリのBeautiful Soupなどを使うことでも解決できます。

例えば以下のような処理を使用することでリンク先ページのタイトルタグを取得できます。

無理にScrapyのRequestオブジェクトを使って取得する必要はなく、処理の中で別のライブラリを使用することで上手く解決できました。

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
https://www.itblog.jp/wp-trackback.php?p=9635
トラックバックの送信元リスト
Scrapyでクロール中にリンク先のページから抽出した要素を追加する - ITblog より

ホーム > python | 技術系 > Scrapyでクロール中にリンク先のページから抽出した要素を追加する

フィード
リンク集

ページの上部に戻る