简单的抓取淘宝图片的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多线程结合队列下载百度音乐的方法
Jul 27 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
Python常见工厂函数用法示例
Mar 21 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
Python爬虫实现爬取百度百科词条功能实例
Apr 05 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
使用opencv将视频帧转成图片输出
Dec 10 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
如何完美的建立一个python项目
Oct 09 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
Python加密技术之RSA加密解密的实现
Apr 08 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中extract()函数的定义和用法
2012/08/17 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
提高网站信任度的技巧
2008/10/17 Javascript
javascript this用法小结
2008/12/19 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
servlet+jquery实现文件上传进度条示例代码
2017/01/25 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
JS实现拼图游戏
2021/01/29 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
JSON stringify方法原理及实例解析
2020/10/23 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
python Celery定时任务的示例
2018/03/13 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
急诊科护士自我鉴定
2013/10/14 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
先进党支部申报材料
2014/12/24 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL