python实现初步爬虫

 


def get_data(url):
# 这里用了with as 即完成之后自动close(),释放资源
    with request.urlopen(url) as f:
        data = f.read()
        # print('Status:', f.status, f.reason) #状态码
        # for k, v in f.getheaders():
        #     print('%s: %s' % (k, v)) #遍历报文头
        # print('Data:', data.decode('utf-8')) #decode()以 encoding 指定的编码格式解码字符串

        # with open('/Users/Hints/AppData/Local/Programs/Python/text.txt','w') as p:
        #     p.write(data.decode('utf-8')) #将捕获的数据保存在文件中
        return data.decode('utf-8')

reg = r'src="(.+?\.jpg)" width' #这个是关键
reg_img = re.compile(reg) #正则表达式都要编译
imglist = reg_img.findall(get_data('http://tieba.baidu.com/p/1753935195'))
x = 0
for img in imglist:
    request.urlretrieve(img,'/Users/Hints/AppData/Local/Programs/Python/img/%s.jpg' %x)
    x+=1

其中我认为爬虫的精髓在于有一个好的正则表达式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值