python爬虫淘宝手机_【Python3 爬虫】14_爬取淘宝上的手机图片

现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢?

首先,我们需要分析网页,先看看网页有哪些规律

我们可以看到左侧是主题市场,将鼠标移动到【女装/男装/内衣】这一栏目,我们可以看到更细类的展示

假如我们现在需要爬取【羽绒服】,那么我们进入到【羽绒服】衣服这个界面

此时查看浏览器地址,我们可以看到

网址复制到word或者其他地方会发生url转码

我们可以选中【羽绒服模块的第1,2,3页进行网址对比】,对比结果如下:

从上图我们可以看出:三页的s值都是相差60

然后我们再看下图片地址:

图片中标记的地方或许是两个图片最大的差别,于是打开源代码搜索

图片1搜索结果

图片2搜索结果

从两个网址我们发现了共同的特征:都是以"pic_url":"//开头,网址分析到此结束,那么我们接下来就写代码了。

代码如下:

importurllib.requestimportre#设置关键字

keywords = "羽绒服"

#quote函数进行url编码(屏蔽特殊的字符)

key =urllib.request.quote(keywords)#设置User-Agent

headers=("User_Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0")#自定义opener

opener =urllib.request.build_opener()

opener.addheaders=[headers]

urllib.request.install_opener(opener)#循环遍历抓取

for i in range(0,2):

url= "https://s.taobao.com/list?spm=a21bo.2017.201867-links-0.3.5af911d9rLmo4K&q="+key+"&cat=16&style=grid&seller_type=taobao&bcoffset=12&s="+str(i*60)#print(url)

content = urllib.request.urlopen(url).read().decode("utf-8","ignore")

rule= ‘"pic_url":"//(.*?)"‘ #正则匹配

imglist = re.compile(rule).findall(content) #获取图片列表

for j inrange(0,len(imglist)):

img=imglist[j]

imgurl= "http://"+img

file= "D://source//img//"+str(i)+str(j)+".jpg"urllib.request.urlretrieve(imgurl,filename=file)

爬取完毕后,我们可以打开D:\source\img查看

我们已经成功爬取,并且爬取的图片与页面上是一致的。

原文:https://www.cnblogs.com/OliverQin/p/8907248.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值