dtg*_*gee 5 python xpath scrapy web-scraping
我遇到了一个有点复杂的XPath问题.考虑一下网页的一部分HTML(我使用了Imgur并替换了一些文本):
<a href="//i.imgur.com/ahreflink.jpg" class="zoom">
<img class="post-image-placeholder" src="//i.imgur.com/imgsrclink.jpg">
</img>
</a>
Run Code Online (Sandbox Code Playgroud)
我首先要搜索img文档中的所有标记并找到它们对应的srces.接下来,我想检查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>
Run Code Online (Sandbox Code Playgroud)
期望的结果: //i.imgur.com/imgsrclink.jpg
我该如何构建这个XPath?如果它有帮助,我也在使用Python(Scrapy)和XPath.因此,如果需要分离问题,也可以使用Python.
这在单个xpath表达式中非常简单:
//a[not(@href)]/img/@src | //a[img]/@href
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1074 次 |
| 最近记录: |