为了账号安全,请及时绑定邮箱和手机立即绑定

python写网络爬虫

标签:
Python

#!/usr/bin/evn python

-- coding: cp936 --

import re                  #导入正则表达式模块
import urllib              #导入urllib模块,读取页面与下载页面需要用到
def getHtml(url):           #定义getHtml()函数,用来获取页面源代码
page = urllib.urlopen(url)    #urlopen()根据url来获取页面源代码
html = page.read()           #从获取的对象中读取内容
return html
def getImage(html):  #定义getImage()函数,用来获取图片地址并下载
reg = r'class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="(.*?.jpg)" width'   #定义匹配图片地址的url的正则表达式
imgre = re.compile(reg)   #对正则表达式进行编译,运行效率更高
imagelist = imgre.findall(html)  #使用findall()查找html中匹配正则表达式的图片url
x = 0
for imageurl in imagelist:
urllib.urlretrieve(imageurl,'picture_%s.jpg' % x)  #urlretrieve()下载文件
x +=1
uri = raw_input("请输入网址: ")
r = r'^http://'
if re.match(r,uri):
html2 = getHtml(uri)
else:
html2 = getHtml("http://" + uri)
getImage(html2)
运行脚本test.py

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消