简单的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判断图片宽度和高度后删除图片的方法
May 22 Python
Python中用sleep()方法操作时间的教程
May 22 Python
教大家使用Python SqlAlchemy
Feb 12 Python
详解Python的Django框架中manage命令的使用与扩展
Apr 11 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
Feb 13 Python
python中利用h5py模块读取h5文件中的主键方法
Jun 05 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
使用npy转image图像并保存的实例
Jul 01 Python
Python 日期与时间转换的方法
Aug 01 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 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 的超链接
2009/06/02 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
ThinkPHP路由详解
2015/07/27 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
javascript完美拖拽的实现方法
2013/09/29 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
javascript操作数组详解
2014/12/17 Javascript
jquery实现图片预加载
2015/12/25 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
Python使用django搭建web开发环境
2017/06/09 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
综合实践活动方案
2014/02/14 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
未婚证明书模板
2014/10/08 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
如何利用React实现图片识别App
2022/02/18 Javascript
apache ftpserver搭建ftp服务器
2022/05/20 Servers