[英]Using Python lxml.html how can I find images within link tags?
我正在使用lxml.html解析一些hmtl以获取链接,但是当它单击包含图像的链接时,它只是返回空白,它真正想要的是能够检测到它是否是图像,然后尝试返回图像的替代文本。
所以看起来像这样...
from lxml.html import parse, fromstring
doc = fromstring('<a href="Link One">Anchor Link One</a><br /><a href="Link Two"<img src="Image Link Two" alt="Alt Image" /></a><br /><a href="Link Three">Anchor Link Three</a><br />')
for link in doc.cssselect('a'):
print '%s: %s' % (link.text_content(), link.get('href'))
结果
Anchor Link One: Link One
: Link Two
Anchor Link Three: Link Three
因此,我尝试使用.html_content()尝试获取原始html,然后检查是否为图像。
嗯..如何检测是否包裹在图像中,和/或在那里拉出html ....
只需修改您的CSS选择器即可:
for img in doc.cssselect('a img'):
您还可以使用XPATH表达式:
for img in doc.xpath('a//img'):
for link in doc.xpath('a'):
img = link.find('img')
if img is not None:
print '%s: %s' % (img.get('alt'), link.get('href'))
else:
print '%s: %s' % (link.text_content(), link.get('href'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.