Python爬虫获取百度贴吧图片

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import urllib
import re
文章来源:https://www.cnblogs.com/Axi8/p/5757270.html

class Spilder01(object):

# page = urllib.urlopen('http://tieba.baidu.com/p/1753935195')
# htmlcode = page.read() # 读取页面源码
# print htmlcode # 在控制台输出
#
# pageFile = open('pageCode.txt','w')#以写的方式打开pageCode.txt
# pageFile.write(htmlcode)#写入
# pageFile.close()#开了记得关

# 页面获取
def get_html(url):
page = urllib.urlopen(url)
html = page.read()
return html

# 从get_html方法返回的辣么长一串字符串中 拿到满足正则表达式的字符串
# reg = r'src="(.+?\.jpg)" width' # 正则表达式
# reg_img = re.compile(reg) # 编译一下,运行更快
# imglist = reg_img.findall(get_html('http://tieba.baidu.com/p/1753935195')) # 进行匹配
# x = 0
# for img in imglist:
# urllib.urlretrieve(img, '%s.jpg' % x)
# x += 1
# # print img

# urllib库中有一个 urllib.urlretrieve(链接, 名字)
# 方法,它的作用是以第二个参数为名字下载链接中的内容,我们来试用一下
def get_image(html_code):
reg = r'src="(.+?\.jpg)" width'
reg_img = re.compile(reg)
img_list = reg_img.findall(html_code)
x = 0
for img in img_list:
urllib.urlretrieve(img, '%s.jpg' % x)
x += 1

print u'-------网页图片抓取-------'
print u'请输入url:',
url = raw_input()
if url:
pass
else:
print u'---没有地址输入正在使用默认地址---'
url = 'http://tieba.baidu.com/p/1753935195'

print u'----------正在获取网页---------'
html_code = get_html(url)
print u'----------正在下载图片---------'
get_image(html_code)
print u'-----------下载成功-----------'
raw_input('Press Enter to exit')
posted @ 2019-03-10 21:53  smartwen  阅读(241)  评论(0编辑  收藏  举报