简单的抓取淘宝图片的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中处理字符串之isdigit()方法的使用
May 18 Python
简介Django中内置的一些中间件
Jul 24 Python
Python-嵌套列表list的全面解析
Jun 08 Python
python类:class创建、数据方法属性及访问控制详解
Jul 25 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
python中从str中提取元素到list以及将list转换为str的方法
Jun 26 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
Pytorch反向求导更新网络参数的方法
Aug 17 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
Python使用20行代码实现微信聊天机器人
Jun 05 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
简单的php购物车代码
2020/06/05 PHP
PHP反射基础知识回顾
2020/09/10 PHP
jQuery 获取对象 定位子对象
2010/05/31 Javascript
关于js类的定义
2011/06/28 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
四查四看剖析材料
2014/02/14 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
社团活动总结书
2014/06/27 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
政风行风整改方案
2014/10/25 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
答谢酒会主持词
2015/07/02 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
关于Python中进度条的六个实用技巧分享
2022/04/05 Python