这是我获取网页图片网址的代码
对于某些网页,它运行良好,但它不适合某些网页
这是我的代码: #!的/ 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运行良好?
答案 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') })
这将为您提供包含所需图像的列表。