Python解析网页的图像URL

时间:2012-03-22 09:30:20

标签: python regex urllib

这是我获取网页图片网址的代码

对于某些网页,它运行良好,但它不适合某些网页

这是我的代码:     #!的/ usr / bin中/ Python的

import urllib2
import re
#bufOne = urllib2.urlopen(r"http://vgirl.weibo.com/5show/user.php?fid=17262", timeout=4).read()
bufTwo = urllib2.urlopen(r"http://541626.com/pages/38307", timeout=4).read()

jpgRule = re.findall(r'http://[\w/]*?jpg', bufOne, re.IGNORECASE)
jpgRule = re.findall(r'http://[\w/]*?jpg', bufTwo, re.IGNORECASE)
print jpgRule

bufOne效果很好,但bufTwo无效。那么如何为它编写一个标尺使bufTwo运行良好?

2 个答案:

答案 0 :(得分:8)

Don't use regex to parse HTML。而是使用Beautiful Soup查找所有img标记,然后获取src属性。

from BeautifullSoup import BeautifullSoup

#...

soup = BeautifulSoup(bufTwo)
imgTags = soup.findAll('img')
img = [tag['src'] for tag in imgTags]

答案 1 :(得分:0)

我会抓住这个机会ddk给你一个更简单的方法来获取所有图像。 像这样使用美丽的汤:

from BeautifulSoup import BeautifulSoup
all_imgs = soup.findAll("img", { "src" : re.compile(r'http://[\w/]*?jpg') })

这将为您提供包含所需图像的列表。