python的爬虫

 
 
# -*- coding: utf-8 -*-
# 网上抄来的最简单的爬虫,用于批量下载图片
#
import urllib.request
import re

#该函数用于获取html内容
#使用到urlopen的函数
def getHtml(url):
    page = urllib.request.urlopen(url)
    #3.0直接使用read()函数会出现报错,提示是编码有问题。在后面加上编码就ok了。
    html = page.read().decode("utf-8")
    return html

def getImg(html):
    #reg为正则替换,这边是根据贴吧的帖子的图片在html中的状态拼的,只适用于贴吧帖子下图
    #正则的详细教程见:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
    reg = r'src="(.+?\.jpg)" pic_ext'
    #compile比较简单的解释是制作一个漏斗,规则如reg,只有符合的才能够通过。
    image = re.compile(reg)
    imgList = re.findall(image, html)
    x = 0
    for imgurl in imgList:
        #print ("for test %s" % x) 查看是否走到循环用的print
        #urlretrieve() 方法直接将远程数据下载到本地
        urllib.request.urlretrieve(imgurl,'D:/google//%s.jpg' % x)
        x += 1

#html变量定义一个需要读取的网址,这边选择的是某个贴吧的帖子。
html = getHtml("https://tieba.baidu.com/p/2460150866?red_tag=1993932268")
#html = getHtml("https://www..com")
#执行操作
getImg(html)

print("all over!")

猜你喜欢

转载自blog.csdn.net/iwilldoitx/article/details/80946569