1

最初にスクレイピングしたい html の一部を投稿させてください

<div id="hello">
  <p>abc</p>
  <center><img src="image_url"></center>
  <p align="center" style="text-align: center;"><b>def</b></p>
  <center><img src="image_url"></center>
  <p align="center" style="text-align: center;"><b>def</b></p>
  <p>abc</p>
  <p align="center" style="text-align: center;"><b>def</b></p>
  <center><img src="image_url"></center>
  <p align="center" style="text-align: center;"><b>def</b></p>
  <p>abc</p>
  <center><img src="image_url"></center>
</div>

順番にある画像の p と src のテキストをスクレイピングしようとしていますimage_urlp問題は、上で示したhtmlは実際には静的centerではなく、すべてのページが異なる構造を持っているということです。img src

pcenterタグは各ページでランダムに構成されているため、すべてのタグを取得することを考えてpいました。もしそうなら、それを追加してください。response.css('#hello p')ppcentersrc

p.xpath('following-sibling::center[1]/img/@src').get()p は反復中の各段落であるため、そのようなものを見つけました。

しかし、次の兄弟を見つけるだけでなく、その後すべての兄弟を調べてタグが一致するかどうかを確認するため、実際に4を取得するpまで4つのタグがあるとしましょう。centerimg srcp.xpath('following-sibling::center[1]/img/@src').get()center

グーグルを試しましたが、次の兄弟がタグであるかどうかのみを確認することについて言及しているものはありません。データを順番に保存できるように、それを機能させることができると誰でも思いますか?

うまくいけば、私の説明は理にかなっています。

事前に助けと提案をありがとう

4

1 に答える 1