python爬虫 爬取贴吧图片

根据网上博客介绍,复现的一款极简爬虫。
代码如下(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')

你可能感兴趣的:(python爬虫 爬取贴吧图片)