您的位置:首页 > 编程语言 > Python开发

python学习之小小爬虫

2015-06-19 10:50 453 查看
学习python一段时间了,写了一个图片的小小爬虫,分享下,不喜勿喷!

#coding=utf-8
'''
Created on 2015-5-22

@author: 悦文
'''

import re
import urllib

def getHtml(url): #第一次忘写了参数,⊙�⊙b汗
html=urllib.urlopen(url) #获取给定网址的页面源代码,是一个对象文件
pageContent=html.read()  #读取网页文件中的内容
#html.close() #关闭sockit
return pageContent #返回读取网页文件中的内容
#print url.geturl() #打印请求的网址
#print pageContent

def callbackfunc(blocknum, blocksize, totalsize):
'''回调函数
@blocknum: 已经下载的数据块
@blocksize: 数据块的大小
@totalsize: 远程文件的大小
'''
percent = 100.0 * blocknum * blocksize / totalsize
if percent > 100:
percent = 100
print "--------------------------------------------------------------------------"
print "                             小图一张已到手                                  "
print "--------------------------------------------------------------------------"
print "%.2f%%"% percent

def getImg(pageContent,callbackfunc):
#查找图片的正则表达式
src=r'zoomfile=\"(http://img\..+\.jpg)\" file' # @坑1,之前没有加 file,导致从zoomfile开始所有的字符串全都匹配
srcm=re.compile(src)
getImgSrc=re.findall(srcm,pageContent)
#image_test_len=len(getImgSrc)
#print getImgSrc
name=260
#逐条获得图片地址并下载
for image in getImgSrc:
urllib.urlretrieve(image,"E:\\python\\%s.jpg"% name,callbackfunc)
name+=1
#return image_test_len

if __name__=='__main__':
pageContent=getHtml("http://old.nr99.com/thread-123208-1-2.html")
getImg(pageContent,callbackfunc)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: