简单的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的staticmethod与classmethod实现实例代码
Feb 11 Python
用python处理MS Word的实例讲解
May 08 Python
Windows下python3.7安装教程
Jul 31 Python
面向对象学习之pygame坦克大战
Sep 11 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
Python接口测试环境搭建过程详解
Jun 29 Python
python查询MySQL将数据写入Excel
Oct 29 Python
python实现按日期归档文件
Jan 30 Python
Python制作一个随机抽奖小工具的实现
Jul 07 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中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
python比较两个列表是否相等的方法
2015/07/28 Python
Python实现的简单计算器功能详解
2018/08/25 Python
Python装饰器简单用法实例小结
2018/12/03 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
Python如何读写字节数据
2020/08/05 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
Python中如何定义一个函数
2016/09/06 面试题
会计实习生自我鉴定
2013/12/12 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
大班幼儿评语大全
2014/04/30 职场文书
法人授权委托书样本
2014/09/19 职场文书
编写python程序的90条建议
2021/04/14 Python