当前位置: 首页 > 知识库问答 >
问题:

如何通过lxml XPath从超文本标记语言中提取img src?

宋畅
2023-03-14

我试图使用python/lxml和xpath()命令提取图像URl,但在隔离url本身时遇到麻烦。

下面是我想要的围绕img的HTML:

<div data-index="0" data-za-action="Photo Lightbox - Open" data-za-
category="Homes" class="img-wrapper za-track-event zsg-lightbox-show" 
data-target-id="hdp-photo-lightbox" data-za-label="position: 0, total: 
18, id: 10660534745" id="yui_3_18_1_2_1519884476676_1986"><img 
src="https://photos.zillowstatic.com/p_h/IS2fordnekys6d1000000000.jpg" 
onload="if (typeof ClientProfiler !== 'undefined') { 
ClientProfiler.profile('HDPFirstPhotoLoaded') }" id="X1-
IAgz3dcnekys6d1000000000_ptw8e" class="hip-photo"></div>

具体来说,我想隔离<代码>https://photos.zillowstatic.com/p_h/IS2fordnekys6d1000000000.jpgurl。

我尝试了几种方法,但都没有成功,包括以下几种方法:

xpath(".//img[@class='hip-photo']/@src")
xpath(".//img[@class='hip-photo']//text()")

共有2个答案

查淮晨
2023-03-14

.//相对于当前节点进行搜索,这在您的问题中未指定。如果您使用//,它将搜索整个文档。另请参阅XPath中.//和//*有什么区别?

如果要搜索整个文档XPath,

//img[@class="hip-photo"]/@src

将选择所有img元素的所有src属性,class属性值为"hip-Photo"

竺承望
2023-03-14

我想试试Beautifulsoup(bs4)图书馆。img标记有一个id,因此可以在bs4中调用find函数。

source_code.find('img', id=its_id)

然后从标签中获取scr。

关于你的问题类似的问题

bs4 Youtube教程(如果您是新手)

如果你以前从未使用过Beautifulsoup,那么它非常容易学习,所以我建议你研究一下。

希望这有帮助!

 类似资料:
  • 我试着通过电子邮件发送这个。我尝试了很多方法,但总是得到同样的结果:一个错误。 http://goto-21.net/campaign/htmlversion?mkt_hm=0 我试过这个: curl-s--user'api: key-3ax6xnjp29jd6fds4gc373sgvjxteol0'\Xhttps://api.mailgun.net/v2/samples.mailgun.org/

  • 我正在做一个项目,我通过电子邮件发送了来自不同快递公司的收据。这些电子邮件是HTML格式的。 但是,它们并没有都形成特定的结构。每封电子邮件都有不同的格式。我尝试了jshop来提取数据,但很难为每种特定类型的html编写提取。我需要从邮件中提取名称、位置、位置、组织和其他一些细节。我尝试了openNLP,但它不能识别所有位置和名称。如果它是句子形式,它会捕获一些位置。 我可以用html内容创建自己

  • 我试图在HTML的pre标签中包装文本,但它不起作用。我使用下面的CSS作为我的标签。 我从如何在pre标记中换行文本? 我已添加

  • 我正在制作一个reddit机器人,它将在评论中查找某些属性,使用selenium访问信息网站,并使用获取该标记内的值,但它不起作用。 当我使用时,这是返回的数据: 当我使用

  • 我有一个非常简单的问题,我有一个div在一个html页面,我可以通过他的XPath访问这是:。 我想要一个XPath,可以提供这个div的所有子元素,但我找不到它。我需要用硒的findElements方法获取元素,但我测试的方法不起作用: 我的超文本标记语言代码如下: 我想这样使用XPath: 我的Java Selenium脚本如下: 我应该使用什么XPath来获取的子级? 编辑1:我确实使用了*

  • 这就是HTML代码。到目前为止,我已经进行了以下xpath查询: 这让我找到了