python爬取网易美女图片

本文介绍了一款用于抓取网易网站上美女图片的简单爬虫程序。该爬虫能够从指定网页开始,自动抓取页面上的图片,并保存至本地。同时,它还能够根据页面内的链接导航至下一个页面继续抓取图片。

经过几天学习,花了半天时间分析,初步实现了一个简单的爬虫;

爬虫功能:抓取网易美女图片

爬取链接:http://help.3g.163.com/15/0601/17/AR1QC1OQ00964JJI.html;

思路如下:

1.先实现爬取一个当前页面的美女图片;

2.在当前页面获取下次要获取图片的页面;

3.跳转到1步骤;

 实现类如下:

class GetPic():
    def __init__(self, curreLink, headers):    
        print"begin initGetpic"
        self.firstlink = curreLink
        self.headers = headers
        self.picpath="E:\\picwy\\"  #存放爬取图片的路径
        print"end pic"

    def getThepage(self):    #获取当前页面内容
       print "begin content"
       # data={}
       # req = urllib2.request(self.firstlink, data, self.headers)
        req = urllib2.Request(self.firstlink, headers=self.headers)
        content = urllib2.urlopen(req).read()
        print "end content"
        return content

    def getThePic(self,piclink,filename):#根据获取图片的url将图片保存到指定位置
        print "begin get pic"
        urllib.urlretrieve(piclink,filename)
        print "end content"


    def saveThePic(self,pic_content,filename):#留作扩展,暂时没用这个接口
        fopen = open(filename,"w")
        fopen.write(pic_content)
        fopen.close()





 def getNextLike(self, curmsg):#获取下次爬去的页面链接
        m = re.findall(r'<li><span class="title"><a href="(.*?)#from=relevant#xwwzy_35_bottomnewskwd">', curmsg)
        for eachitem in m:
            print "itemNext" + eachitem
        thetemitem=[m[0]]
        if thetemitem in item:
            print "==========================="
            return m[1]
        return m[0]

(r'<li><span class="title"><a href="(.*?)#from=relevant#xwwzy_35_bottomnewskwd">这个正则表达式是为了获取下次爬去的页面,这个由于下个爬去页面的不确定性,
在测试时容易产生异常,考虑后续优化。


上图为页面中下次爬去链接所在位置;

 def getfromEverPage(self, m): print "begin getfromEverPage" for item in m: item = item.replace("\"", "") print item pos = item.rfind("/") if pos != -1: filename=item[pos+1:] print "filename:"+filename Myfilepath = self.picpath+filename self.getThePic(item, Myfilepath) print "End getfromEverPage"



 

主流程实现如下
def main():
    print "begin main"
    curtLink = "http://help.3g.163.com/15/0325/15/ALIHIPS800964JJI.html"   #首次爬取的页面
    item.append([curtLink])#记录爬去的页面到item
    while(curtLink):
        headers = {'User-Agent': ' Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}
        geetPic = GetPic(curtLink, headers)
        Mypage = geetPic.getThepage()
        m = re.findall(r'<p class="f_center"><img src=(.*?)alt', Mypage)#根据此正则表达式可获取,当前页面图片的地址;
        curtLink = geetPic.getNextLike(Mypage)
        print "curtLink====="+curtLink
        geetPic.getfromEverPage(m)
        item.append([curtLink])
    print "End main"
    print str(item)

此源码为了缩减内容不带任何图片数据,请搭建后自己采集或者录入,采集不会的话可以百度找一下采集教程,,也可以直接去淘宝上找做采集的,价格也不是很贵! 本帖资源标签:WordPress自适应图片主题,主题模板,带会员积分下载系统 分类和标签添加筛选功能; 列表增加用户自定义排序功能,支持点赞和浏览数量排序; 优化二级菜单和三级菜单的css样式; 支持会员功能和用户中心模板; 支持第三方快速登陆(QQ和新浪); 新增单图模式,全新的图片浏览模式; 新增登陆、注册、找回密码三合一页面模板; 新增文章点赞排行榜页面; 新增AJAX列表加载功能; 新增广告投放面板; 支持点卡充值和点卡生成功能; 支持积分签到功能; 支持评论和投稿奖励积分功能; 支持积分开通会员功能(目前内置3个级别的会员); 支持积分下载资源和免费资源下载; 支持vip免费资源添加; 新增下载资源管理员和作者查看下载次数和校验资源功能; 支持文章前台投稿功能; 支持前台开启相对地址和绝对地址切换功能; 新增图片自动分页功能; 新增图片分页浏览模板; 新增后台列表显示缩略图和封面图片功能; 全新的SEO功能; 新增文章收藏功能; 新增文章顶踩功能(踩的按钮目前只在单图模式显示); 新增图片预加载功能; 幻灯片支持外链和自定义大图; 源码测试环境推荐php5.2/5.3/5.4Mysql 安装说明: 上传文件拿到网站根目录,直接安装即可,附带wordpress。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

One_knight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值