简单的抓取淘宝图片的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 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
python数据结构之链表详解
Sep 12 Python
浅谈Python对内存的使用(深浅拷贝)
Jan 17 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
python七夕浪漫表白源码
Apr 05 Python
Python3 实现爬取网站下所有URL方式
Jan 16 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
Feb 12 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 28 Python
python 用Matplotlib作图中有多个Y轴
Nov 28 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根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
python实现静态服务器
2019/09/05 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
优秀团员个人事迹材料
2014/01/29 职场文书
廉洁自律承诺书
2014/03/27 职场文书
电话客服工作职责
2014/07/27 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
志愿者工作心得体会
2016/01/15 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python