Python20行代码爬虫Sample

工具:Python2.7 re库,urllib库

编辑器:sublime Text2

python和sublime Text下载安装的教程有很多,就不发上来了

sublime Text2配置Python运行环境:http://blog.sina.com.cn/s/blog_7da26c2c0101go82.html

为python文件命名为webspider.py

import urllib
import re
def getHtml(url):
page=urllib.urlopen(url)
html=page.read()
return html


def getImg(html):
reg=r'src="(.+?\.jpg)" size'
imgre=re.compile(reg)
imglist=re.findall(imgre,html)
x=0
for imgurl in imglist:
urllib.urlretrieve(imgurl,'%s.jpg'%x)
x+=1
return imglist


html=getHtml("http://tieba.baidu.com/p/4798566941")


print getImg(html)

上面是整段爬取的贴吧一页所有图片的爬虫代码


首先import导入re  urllib库

然后编写getHtml和 getHtml函数


爬虫主要是分为3个部分;

1.获取整个页面的数据

    python中的urllib模块提供了读取web页面数据的接口,我们可以使用它获取页面的数据,

    urllib.urlopen方法则是用来打开一个URL地址read()方法用来读取URL上的数据,向getHtml返回了整个URL上的HTML代码

2.正则表达式筛选数据

    正则表达式学习:http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html

    通过F12键来打开页面的源代码,或者在谷歌浏览器上在想要获取的图片上通过点击右键检查来查看图片的代码,使用正则表达式将图片的URL地址匹配下载下来

    在上面我们的代码中是匹配前面是src=下个字符开始,size上个字符结束,并且匹配到结尾为.jpg的表达式,re.findall()方法读取整个HTML中包含正则表达式imgre的数据

3.将页面筛选的数据下载到本地

  urllib.urlretrive()方法,下载图片到本地,并按顺序命名为x.jpg

在sublime Text2中ctrl+B来跑程序,可以见到webspider.py文件夹中下载好了全部的图片


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值