多少複雑なXPathの問題が発生しました。 (私はImgurを使用していくつかのテキストを置き換え)は、ウェブページの一部のこのHTMLを考えてみましょう:XPathの選択イメージリンク - img srcの親hrefのリンクのみが存在する場合はimg src link
<a href="//i.imgur.com/ahreflink.jpg" class="zoom">
<img class="post-image-placeholder" src="//i.imgur.com/imgsrclink.jpg">
</img>
</a>
私は最初のドキュメント内のすべてのimg
のタグを検索すると、それらに対応するsrc
ESを見つけます。次に、img src
のリンクに画像ファイル拡張子(.jpeg、.jpg、.gif、.png)が含まれているかどうかを確認します。イメージの拡張子が含まれていない場合は、それをつかんではいけません。この場合、画像拡張子を持ちます。今私たちはどのリンクをつかみたいのか把握したいと思います。 parent href
が存在するので、対応するリンクを取得する必要があります。
望ましい結果://i.imgur.com/ahreflink.jpg
しかし、今のはparent href
が存在しないとしましょう:
<a name="missing! oh no!">
<img class="post-image-placeholder" src="//i.imgur.com/imgsrclink.jpg">
</img>
</a>
を希望する結果://i.imgur.com/imgsrclink.jpg
どのように私はこのXPathを構築行くのですが?役立つなら、XPathでPython(Scrapy)も使用しています。したがって、問題を切り分ける必要がある場合は、Pythonも同様に使用できます。
これまでに何か試しましたか? –
私はリンクの画像の拡張子をチェックする部分にしか行きませんでしたが、どのリンクをつかむかを選択する方法については混乱しました。 – dtgee
XPathを使用して結果を完全に達成したいのですか、または使用しているスクリプト言語を使用してロジックの一部を実装できますか? –