在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-)
关于python3的urllib模块,可以看这篇博客:传送门 首先是用urlopen打开网站并且获取网页内容,通过查看网页源代码,可以很容易的发现图片的格式都是差不多的,所以用正则表达式来匹配即可。
1 from urllib import request 2 import re 3 4 def get_pic(): 5 web = request.urlopen(r'http://tieba.baidu.com/p/2166231880') 6 page = web.read() 7 page = page.decode() 8 9 regex = re.compile(r'<img.*?class="BDE_Image" src="(.*?)".*?>') 10 pic = re.findall(regex, page) 11 return pic 12 13 def save(save_pic): 14 path = 'D:\python\project\爬虫结果' 15 count = 0 16 for pic in save_pic: 17 request.urlretrieve(pic, '%s/%s.jpg' % (path, count)) 18 count += 1 19 20 pic = get_pic() 21 save(pic)
之后我又用BeautifulSoup模块来进行了爬图,这个方法确实简单多了。这位博主对于BeautifulSoup的介绍十分不错:传送门 1 from bs4 import BeautifulSoup 2 from urllib import request 3 4 url = 'http://tieba.baidu.com/p/2166231880' 5 path = 'D:\python\project\爬虫结果' 6 7 page = request.urlopen(url).read() 8 page = page.decode() 9 10 soup = BeautifulSoup(page, 'lxml') 11 count = 0 12 13 pic_list = soup.findAll("img", class_ = 'BDE_Image') 14 for pic in pic_list: 15 pic = pic['src'] #获取列表中的src内容 16 request.urlretrieve(pic, '%s/%s.jpg' % (path, count)) 17 count += 1 引用一下该博客中的一段话:
|
请发表评论