Python爬虫实战(4):抓取淘宝MM照片

福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢?

本篇目标

1.抓取淘宝MM的姓名,头像,年龄

2.抓取每一个MM的资料简介以及写真图片

3.把每一个MM的写真图片按照文件夹保存到本地

4.熟悉文件保存的过程

1.URL的格式

在这里我们用到的URL是 http://mm.taobao.com/json/request_top_list.htm?page=1,问号前面是基地址,后面的参数page是代表第几页,可以随意更换地址。点击开之后,会发现有一些淘宝MM的简介,并附有超链接链接到个人详情页面。

我们需要抓取本页面的头像地址,MM姓名,MM年龄,MM居住地,以及MM的个人详情页面地址。

2.抓取简要信息

相信大家经过上几次的实战,对抓取和提取页面的地址已经非常熟悉了,这里没有什么难度了,我们首先抓取本页面的MM详情页面地址,姓名,年龄等等的信息打印出来,直接贴代码如下

运行结果如下

QQ截图20150220234132

2.文件写入简介

在这里,我们有写入图片和写入文本两种方式

1)写入图片

2)写入文本

3)创建新目录

3.代码完善

主要的知识点已经在前面都涉及到了,如果大家前面的章节都已经看了,完成这个爬虫不在话下,具体的详情在此不再赘述,直接帖代码啦。

以上两个文件就是所有的代码内容,运行一下试试看,那叫一个酸爽啊

QQ截图20150221020543

 

看看文件夹里面有什么变化

QQ截图20150221020709

 

QQ截图20150221021032

不知不觉,海量的MM图片已经进入了你的电脑,还不快快去试试看!!

代码均为本人所敲,写的不好,大神勿喷,写来方便自己,同时分享给大家参考!希望大家支持!

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

任选一种支付方式

2 19 收藏 26 评论

关于作者:崔庆才

静觅 静静寻觅生活的美好个人站点 cuiqingcai.com 个人主页 · 我的文章 · 17 ·    

相关文章

可能感兴趣的话题



直接登录
最新评论
  • 完全复制粘贴执行报错:

    正在偷偷寻找第 2 个地方,看看MM们在不在
    发现一位模特,名字叫 李喵喵 芳龄 25 ,她在 上海市
    Traceback (most recent call last):
    正在偷偷地保存 李喵喵 的信息
    File "D:/Data Analysis/Python/51Hunter/TaoBaoMM.py", line 144, in
    又意外地发现她的个人地址是 //mm.taobao.com/45834230.htm
    spider.savePagesInfo(2,10)
    File "D:/Data Analysis/Python/51Hunter/TaoBaoMM.py", line 139, in savePagesInfo
    self.savePageInfo(i)
    File "D:/Data Analysis/Python/51Hunter/TaoBaoMM.py", line 122, in savePageInfo
    detailPage = self.getDetailPage(detailURL)
    File "D:/Data Analysis/Python/51Hunter/TaoBaoMM.py", line 36, in getDetailPage
    response = urllib2.urlopen(infoURL)
    File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
    File "C:\Python27\lib\urllib2.py", line 392, in open
    protocol = req.get_type()
    File "C:\Python27\lib\urllib2.py", line 254, in get_type
    raise ValueError, "unknown url type: %s" % self.__original
    ValueError: unknown url type: //mm.taobao.com/45834230.htm

  • 我也是醉了

  • 温馨提示:
    1.本篇里面的图片URL的链接都少了“http:”,大家可以自己填写下。
    2.打的是第2-10页,内容比较大,可以自己改小一些。

  • urllib2是什么的,从哪里来的

  •   2016/02/06

    你这个爬虫程序有问题呀。你个给解答下吗?
    :\Python27\python.exe C:/Users/zgb1/PycharmProjects/untitled/spider.py
    正在偷偷寻找第 1 个地方,看看MM们在不在
    发现一位模特,名字叫 田媛媛 芳龄 26 ,她在 广州市
    正在偷偷地保存 田媛媛 的信息
    又意外地发现她的个人地址是 http://mm.taobao.com/687471686.htm
    Traceback (most recent call last):
    File "C:/Users/zgb1/PycharmProjects/untitled/spider.py", line 143, in
    spider.savePagesInfo(1,3)
    File "C:/Users/zgb1/PycharmProjects/untitled/spider.py", line 139, in savePagesInfo
    self.savePageInfo(i)
    File "C:/Users/zgb1/PycharmProjects/untitled/spider.py", line 124, in savePageInfo
    brief = self.getBrief(detailPage)
    File "C:/Users/zgb1/PycharmProjects/untitled/spider.py", line 43, in getBrief
    return self.tool.replace(result.group(1))
    AttributeError: 'NoneType' object has no attribute 'group'

    Process finished with exit code 1

  • 这个执行过一定次数后淘宝要求登陆的,要不会返回none

  • 我想知道···那个URL是怎么得出来的呀,找了好久,header里面也没

  • :   2016/04/20

    楼主,请问正则表达式的表达式怎么找的

  • 正在偷偷寻找第 2 个地方,看看MM们在不在
    发现一位模特,名字叫 李喵喵 芳龄 26 ,她在 上海市
    正在偷偷地保存 李喵喵 的信息
    又意外地发现她的个人地址是 http://mm.taobao.com/45834230.htm
    Traceback (most recent call last):
    File "D:/Python文件/淘宝.py", line 152, in <module>
    spider.savePagesInfo(2,10)
    File "D:/Python文件/淘宝.py", line 148, in savePagesInfo
    self.savePageInfo(i)
    File "D:/Python文件/淘宝.py", line 135, in savePageInfo
    images = self.getAllImg(detailPage)
    File "D:/Python文件/淘宝.py", line 56, in getAllImg
    images = re.findall(patternImg,content.group(1))
    AttributeError: 'NoneType' object has no attribute 'group'

  • 楼主要完整正确的程序吗 可不可以发给我一份,498936103@qq.com

  • 你好,我想问一下,import  tool这个模块是python 3.0才会有吗?还是自己安装。我的是python2.7 ,我安装了tool,但是不能使用。

  • 有完整正确的程序吗 可不可以发给我一份,1294226438@qq.com

  • 我也想问一下,为什么我写的正则没问题,结果却反回null?

  • 经自己修改,完美运行,作者还需对代码做一些异常处理,个人愚见

  • fristyy   09/09

    总结一下,两个问题:

    1,所有url没有http:的头,contents.append('http:%s'%[item[0],'http:%s'%item[1],item[2],item[3],item[4]])即可

    2,基本上所有MM的图片都是没有的,icon名字有,所以和图片有关的都要要做空值判断,最好所有写入都做一个空值判断。

跳到底部
返回顶部