python:从html中获取图片链接

2 投票
5 回答
9599 浏览
提问于 2025-04-16 17:13

从这样的html/rss片段中

[...]<div class="..." style="..."></div><p><a href="..."
<img alt="" heightt="" src="http://link.to/image"
width="" /></a><span style="">[...]

我想获取图片的链接 "http://link.to/image.jpg"。我该如何在python中做到这一点呢?谢谢。

5 个回答

0

补充一下svick的回答,试试使用BeautifulSoup这个解析器,以前我用过,效果不错。

2

使用urllib和beautifulsoup:

import urllib
from BeautifulSoup import BeautifulSoup

f = urllib.urlopen(url)
page = f.read()
f.close()          
soup = BeautifulSoup(page)
for link in soup.findAll('img'):
    print "IMAGE LINKS:", link.get('data-src') 
6

lxml 是完成这项工作的工具。

从一个网页上抓取所有的图片其实很简单,像这样:

import lxml.html

tree = lxml.html.parse("http://example.com")
images = tree.xpath("//img/@src")

print images

结果会是:

['/_img/iana-logo-pageheader.png', '/_img/icann-logo-micro.png']

如果你处理的是一个RSS订阅源,那你就需要用 lxml.etree 来解析它。

撰写回答