简单的Python抓taobao图片爬虫


Posted in Python onOctober 26, 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 17 Python
用Python设计一个经典小游戏
May 15 Python
浅谈python迭代器
Nov 08 Python
关于反爬虫的一些简单总结
Dec 13 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
python openpyxl使用方法详解
Jul 18 Python
python 求10个数的平均数实例
Dec 16 Python
如何把python项目部署到linux服务器
Aug 26 Python
python基于win32api实现键盘输入
Dec 09 Python
Python Django模型详解
Oct 05 Python
python解析照片拍摄时间进行图片整理
Jul 23 Python
Python性能优化的20条建议
Oct 25 #Python
跟老齐学Python之网站的结构
Oct 24 #Python
跟老齐学Python之折腾一下目录
Oct 24 #Python
跟老齐学Python之私有函数和专有方法
Oct 24 #Python
跟老齐学Python之模块的加载
Oct 24 #Python
python和shell实现的校验IP地址合法性脚本分享
Oct 23 #Python
探寻python多线程ctrl+c退出问题解决方案
Oct 23 #Python
You might like
php 批量替换html标签的实例代码
2013/11/26 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
30个让人兴奋的视差滚动(Parallax Scrolling)效果网站
2012/03/04 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
关于vue里页面的缓存详解
2019/11/04 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
详解python做UI界面的方法
2019/02/27 Python
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
史学专业毕业生求职信
2014/05/09 职场文书
公司任命书模板
2014/06/06 职场文书
医院节能减排方案
2014/06/13 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
使用CSS实现百叶窗效果示例代码
2023/05/07 HTML / CSS