簡體   English   中英

使用Python lxml.html如何在鏈接標記中找到圖像?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM