简单的抓取淘宝图片的Python爬虫
作者:hebedich 时间:2022-01-19 14:42:31
写了一个抓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,爬虫,淘宝
0
投稿
猜你喜欢
解决PyCharm同目录下导入模块会报错的问题
2023-06-12 22:39:55
oracle10g 数据备份与导入
2009-06-10 18:21:00
MySQL 使用SQL语句修改表名的实现
2024-01-17 09:14:31
python 图像平移和旋转的实例
2021-03-06 23:59:49
Python科学计算之Pandas详解
2023-07-21 19:12:51
MySQL字符串前缀索引使用
2024-01-22 17:58:58
解析:校对确定 较为复杂的一些特殊情况
2008-12-17 16:54:00
Python 读写文件和file对象的方法(推荐)
2022-01-09 08:36:03
wordpress安装过程中遇到中文乱码的处理方法
2023-11-15 12:24:52
Linux 下 Python 实现按任意键退出的实现方法
2022-08-07 14:22:01
django使用django-apscheduler 实现定时任务的例子
2021-06-09 05:10:44
JS上传图片前实现图片预览效果的方法
2024-04-30 10:10:12
Python3实现的反转单链表算法示例
2021-09-22 01:33:30
php 字符串中是否包含指定字符串的多种方法
2023-06-11 20:21:38
python3实现名片管理系统
2022-01-21 22:11:01
Python使用Matplotlib绘制三维散点图详解流程
2023-09-17 13:36:59
详解python数据结构之栈stack
2023-02-12 17:48:56
win10安装Sql Server 2014图文教程
2024-01-16 16:47:34
PHP bin2hex()函数基础实例讲解
2023-06-12 16:30:44
对pandas的层次索引与取值的新方法详解
2023-01-20 00:39:55