简单的抓取淘宝图片的Python爬虫


Posted in Python onDecember 25, 2014

写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品。

从网页http://mm.taobao.com/json/request_top_list.htm?type=0&page=中提取taobao模特的照片。

# -*- coding: cp936 -*-

import urllib2

import urllib

mmurl="http://mm.taobao.com/json/request_top_list.htm?type=0&page="

i=0#第二页有个人的页面没图片,会出现IO错误

while i<15:

        url=mmurl+str(i)

        #print url #打印出列表的url

        up=urllib2.urlopen(url)#打开页面,存入句柄中

        cont=up.read()

        #print len(cont)#页面的长度

        ahref='<a href="http'#筛选页面内网页链接的关键字

        target="target"

        pa=cont.find(ahref)#找出网页链接的头部位置

        pt=cont.find(target,pa)#找出网页链接的尾部位置

        for a in range(0,20):#如才能不把20硬编码进去?如何找到文件结尾?

                urlx=cont[pa+len(ahref)-4:pt-2]#从头部到尾部,将网页链接存入变量

                if len(urlx) < 60:#如果网页链接长度适合【len()!!!!】

                    urla=urlx     #那么就准备将其打印出来

                    print urla    #这是想要的model个人URL

                    #########以下开始对model个人的URL进行操作#########

                    mup=urllib2.urlopen(urla)#打开model个人的页面,存入句柄中

                    mcont=mup.read()#对model页面的句柄进行读出操作,存入mcont字符串

                    imgh="<img style=" #筛选页面内【图片】链接的关键字

                    imgt=".jpg"

                    iph=mcont.find(imgh)#找出【图片】链接的头部位置

                    ipt=mcont.find(imgt,iph)#找出【图片】链接的尾部位置

                    for b in range(0,10):#又是硬编码····

                            mpic=mcont[iph:ipt+len(imgt)]#原始图片链接,链接字符的噪声太大

                            iph1=mpic.find("http")#对上面的链接再过滤一次

                            ipt1=mpic.find(imgt)  #同上

                            picx=mpic[iph1:ipt1+len(imgt)]

                            if len(picx)<150:#仍有一些URL是“http:ss.png><dfsdf>.jpg”(设为100竟然会误伤)

                                    pica=picx #【是len(picx)<100而不是picx!!】不然会不显示

                                    print pica

                                    ############################

                                    ###########开始下载pica这个图片

                                    urllib.urlretrieve(pica,"pic\\tb"+str(i)+"x"+str(a)+"x"+str(b)+".jpg")                                   

                                    ###########   pica图片下载完毕.(加上各循环体的数字,以免名字重复)

                                    ############################

                            iph=mcont.find(imgh,iph+len(imgh))#开始下一个循环

                            ipt=mcont.find(imgt,iph)

                    ############model个人URL内的【图片链接】提取完毕##########

                pa=cont.find(ahref,pa+len(ahref))#将原来的头部位作为起始点,继续向后找下一个头部

                pt=cont.find(target,pa)#继续找下一个尾部

        i+=1

是不是很简单呢,小伙伴们稍微修改下就可以抓取其他内容了的。。。

Python 相关文章推荐
Python编程实现数学运算求一元二次方程的实根算法示例
Apr 02 Python
Python解惑之整数比较详解
Apr 24 Python
python如何求解两数的最大公约数
Sep 27 Python
解决PyCharm控制台输出乱码的问题
Jan 16 Python
PyQt5实现简易电子词典
Jun 25 Python
浅谈python 中类属性共享的问题
Jul 02 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
Python3 Tkinkter + SQLite实现登录和注册界面
Nov 19 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
python多进程下的生产者和消费者模型
May 07 Python
Django解决frame拒绝问题的方法
Dec 18 Python
简单使用Python自动生成文章
Dec 25 #Python
Python 抓取动态网页内容方案详解
Dec 25 #Python
利用Psyco提升Python运行速度
Dec 24 #Python
Python解决鸡兔同笼问题的方法
Dec 20 #Python
Python列表计数及插入实例
Dec 17 #Python
Python二维码生成库qrcode安装和使用示例
Dec 16 #Python
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 #Python
You might like
聊天室php&amp;mysql(三)
2006/10/09 PHP
用PHP来写记数器(详细介绍)
2006/10/09 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
js正确获取元素样式详解
2009/08/07 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
微信小程序 swiper 组件遇到的问题及解决方法
2019/05/26 Javascript
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
python装饰器实例大详解
2017/10/25 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
Python实现弹球小游戏
2020/08/01 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
CSS3自定义滚动条样式的示例代码
2017/08/21 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
临床医学专业个人的自我评价
2013/09/27 职场文书
后勤主管岗位职责
2014/03/01 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
专家推荐信怎么写
2015/03/25 职场文书
地球上的星星观后感
2015/06/02 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
高中物理教学反思
2016/02/19 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers