总算有时间动手用所学的python知识编写一个简单的网络爬虫了,这个例子主要实现用python爬虫从百度图库中下载美女的图片,并保存在本地,闲话少说,直接贴出相应的代码如下:
-------------------------------------------------------------------------------------------
#coding=utf-8
# 导入urllib和re模块
import urllib
import re
# 定义获取百度图库URL的类;
class GetHtml:
def __init__(self,url):
self.url = url
def getHtml(self):
page = urllib.urlopen(self.url)
html = page.read()
return html
# 定义处理GetHtml类getHtml返回值(百度图库中美女的图片的链接地址)的类;
# 该类主要实现图片链接地址的提取和相应图片的下载(下载后的图片直接保存在本地);
class GetImg:
def __init__(self,html):
self.html = html
def getImg(self):
reg = r'"thumbLargeUrl" : "(.+?\.jpg)"'
imgre = re.compile(reg,re.S|re.M)
imglist = re.findall(imgre,self.html)
# print imglist
x = 1
for imgurl in imglist:
urllib.urlretrieve(imgurl,'%s.jpg' % x)
y = x+1
print '第%s张图片下载完成,正在下载第%s张,请稍后……' %(x,y)
x+=1
x-=1
print '--------本次下载完成,共下载图片%s张---------' %x
# 定义程序的主入口
if __name__== '__main__':
url = "http://p_w_picpath.baidu.com/channel?c=%E7%BE%8E%E5%A5%B3#%E7%BE%8E%E5%A5%B3"
test = GetHtml(url)
p = test.getHtml()
m = GetImg(p)
m.getImg()