Python爬虫----爬虫入门(2)
来源:互联网 发布:起点数据为 编辑:程序博客网 时间:2024/06/06 04:35
开发环境,ubuntu 14.0.1自带python 2.7.6
urllib是python自带的库,可以用来抓取简单的静态页面。
#coding=utf-8import urllib#Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一#样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:# urllib.urlopen()方法用于打开一个URL地址。# read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,#并把整个页面下载下来。执行程序就会把整个网页打印输出。def getHtml(url): page = urllib.urlopen(url) html = page.read() return htmlhtml = getHtml("http://www.meizitu.com/a/5347.html")print html
这样就能得到网页的html代码了,但是要找出图片链接,这就要用到正则表达式了。
import redef getImg(html,y): reg = r'src="http://pic.+" />' imglist = re.findall(imgre,html) if imglist: for i in range(len(imglist)): imglist[i] = imglist[i][5:][:-4]
正则的使用参考此图,再加一个在线测试地址:
http://regex.supfree.net/
接下来就是下载图片了:使用下面这个函数
urllib.urlretrieve
运行成功,但是循环几次以后出现了
Connection reset by peer 链接被对方重置
后来加了一个
import time
sleep(0.5)在每次请求时,暂停0.5秒,以免请求过快。
完整代码就是:
#coding=utf-8import urllibimport reimport time#Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一#样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:# urllib.urlopen()方法用于打开一个URL地址。# read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,#并把整个页面下载下来。执行程序就会把整个网页打印输出。def getHtml(url):page = urllib.urlopen(url)html = page.read()return htmldef getImg(html,y):reg = r'src="http://pic.+" />'imgre = re.compile(reg)imglist = re.findall(imgre,html)if imglist:for i in range(len(imglist)):imglist[i] = imglist[i][5:][:-4]# urllib.urlretrieve('http://pic.meizitu.com/wp-content/uploads/2016a/02/07/03.jpg','d7dd.jpg')x = 0for imgurl in imglist:urllib.urlretrieve(imgurl, '%s-%s.jpeg' % (y, x))time.sleep(0.5)print '第' + str(x) + '下好了'x += 1else:print '没有找到地址'for i in range(5002,5350):html=getHtml('http://www.meizitu.com/a/%s.html'%str(i))print igetImg(html,i)#print html
总结:抓下了妹子图网站几千张妹子的图片,但是只能抓取某些网址有规律(比如后面的数字是有规律增长的)
1 0
- Python爬虫----爬虫入门(2)
- Python爬虫入门(2):爬虫基础了解
- Python爬虫入门(2):爬虫基础了解
- Python爬虫----爬虫入门(3)---urllib2
- Python爬虫 | Python爬虫入门
- 菜鸟python入门爬虫手记(2)
- Python爬虫入门2--请求(HTTP)
- python爬虫入门简单爬虫
- python爬虫入门到懵逼-2
- python爬虫入门(一)
- Python 爬虫入门(requests)
- Python爬虫入门(1)
- python 入门爬虫(一)
- Python 爬虫入门(一)
- 【python爬虫】python爬虫入门攻略(1)
- Python爬虫入门
- Python爬虫入门
- Python爬虫入门基础
- Win7下的C语言开发环境
- 矩阵分解(MATRIX FACTORIZATION)在推荐系统中的应用
- 深入HTTP协议
- DbUnit实践:Spring Test Dbunit,H2数据库
- 根据实例探讨源代码管理
- Python爬虫----爬虫入门(2)
- yii2-分页,Yii2实现带搜索的分页功能
- JQ 选择器各种功能
- Maven学习笔记之Maven坐标依赖
- wecenter 无法上传图片 报错 upload_not_writable
- Android Animation动画详解
- 实现知乎app的主界面效果
- iOS开发模仿网易新闻实现多控制器切换
- Codeblocks使用技巧:[1]简单使用入门