简单的抓取淘宝图片的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正则表达式抓取成语网站
Nov 20 Python
python中安装Scrapy模块依赖包汇总
Jul 02 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
django js实现部分页面刷新的示例代码
May 28 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
python pygame模块编写飞机大战
Nov 20 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
对Python 语音识别框架详解
Dec 24 Python
Python提取特定时间段内数据的方法实例
Apr 01 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
Jan 07 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中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
读jQuery之一(对象的组成)
2011/06/11 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
解决Django中checkbox复选框的传值问题
2020/03/31 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
趣味运动会广播稿
2014/09/13 职场文书
文明单位创建材料
2014/12/24 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
中学音乐课教学反思
2016/02/18 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android