简单的抓取淘宝图片的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代码实例
Feb 04 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
理解Python中的绝对路径和相对路径
Aug 30 Python
matplotlib绘图实例演示标记路径
Jan 23 Python
详解python:time模块用法
Mar 25 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
python3获取当前目录的实现方法
Jul 29 Python
python多线程同步实例教程
Aug 11 Python
用Python画小女孩放风筝的示例
Nov 23 Python
Python实现哲学家就餐问题实例代码
Nov 09 Python
一文搞懂Python Sklearn库使用
Aug 23 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
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
小程序实现单选多选功能
2018/11/04 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
python爬取微信公众号文章的方法
2019/02/26 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
酒店总经理助理岗位职责
2014/02/01 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
六五普法规划实施方案
2014/03/21 职场文书
就职演讲稿范文
2014/05/19 职场文书
尊老爱幼演讲稿
2014/09/04 职场文书
大学军训决心书
2015/02/05 职场文书
五一劳动节活动总结
2015/02/09 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
小学生暑假安全公约
2015/07/14 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
关于vue-router-link选择样式设置
2022/04/30 Vue.js