根据网上博客介绍,复现的一款极简爬虫。
代码如下(PS:若需使用,则需要修改对应目录)
# coding:utf-8
import urllib.request
import re
def get_html(url):
page = urllib.request.urlopen(url)
html_code = page.read()
return html_code
def get_image(html_code):
#正则表达式匹配
#匹配以src="开头然后接一个或多个任意字符(非贪婪),以.jpg" width结尾的字符串。
#比如图中红框内src后 双引号里的链接就是一个匹配的字符串。
reg = r'src="(.+?\.jpg)" width'
reg_img = re.compile(reg) #预编译 提高执行效率
#正则表达式传回的是字符串 所以要用以下方式来解码
html_code = html_code.decode('utf-8')
img_list = reg_img.findall(html_code)#匹配
x = 0#给图片命名 x.jpg
for img in img_list:
urllib.request.urlretrieve(img, '%s.jpg' % x)#下载图片
x += 1
#以下为交互式命令行
print (u'-------网页图片抓取-------')
print (u'请输入url:',)
url = input()
if url:
pass
else:
print (u'---没有地址输入正在使用默认地址---')
#url = 'http://tieba.baidu.com/p/1753935195'
url = 'https://tieba.baidu.com/p/4854271467'
print (u'----------正在获取网页---------')
html_code = get_html(url)
print (u'----------正在下载图片---------')
get_image(html_code)
print (u'-----------下载成功-----------')
input('Press Enter to exit')
网友评论