使用python编写简单网络爬虫(一)

2023-01-31 02:01:32 简单 爬虫 编写

      总算有时间动手用所学的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()

相关文章