1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python数据爬虫学习笔记(10)淘宝图片爬虫实战

Python数据爬虫学习笔记(10)淘宝图片爬虫实战

时间:2022-02-09 11:12:23

相关推荐

Python数据爬虫学习笔记(10)淘宝图片爬虫实战

所谓图片爬虫,即是从互联网中自动把对方服务器上的图片爬下来的爬虫程序。

一、图片爬虫前的网页链接分析

1.首先打开淘宝首页,在搜索框中输入关键词,如“神舟”,在搜索结果界面中点击下一页,分别打开第一页,第二页,第三页的搜索结果,并记下每一页结果的URL至记事本中,如下:

2.观察每一个网页的URL,不要去观察它们不同的部分,而是着眼于每个URL中相似的部分。

(1)可以注意到每个URL中都有“s=XXX”部分,推测为代表了不同的页码的数值,0代表第一页,44代表了第二页,88代表了第三页,推测132代表第四页,将第一页的URL中的“s=0”修改为“s=132”,即可发现神奇般地跳转到了第四页。

(2)虽然将URL复制下来之后无法看到关键词,但是在浏览器中可以清晰看到“q=XXX”为输入的关键词内容,可以推测,浏览器在实际获取网页时将中文字符进行了编码。

3.因此可以初步设想出图片爬虫所需要的网页链接的结构:

二、图片爬虫前的图片链接分析

1.右键单击淘宝网页上的图片,点击复制图片地址,粘贴到记事本中分析:

3.观察URL,注意到前半部分为图片资源在服务器中的地址,后半部分为图片名称以及其格式,特别是“250X250”代表了图片的分辨率,因为在淘宝搜索页中,为节省资源,采取了缩略图的方式。

4.将图片URL中的核心部分,如本例的“TB2ISTydyCYBuNkSnaVXXcMsVXa”在源代码页面中进行搜索:

将链接复制下来打开,即可发现,高清大图无处遁形:

5.观察图片链接的前后格式,注意到前以 pic_url":" 开头,后以 ", 结尾,本例内容比较简单,无需进行抓包即可获取图片链接。

三、图片爬虫程序编写

import urllib.requestimport rekeyname="神舟"key=urllib.request.quote(keyname) #编码#尝试爬取前三页内容for i in range(0,3): #构造页面URLurl="/search?q="+key+"&s=44"data=urllib.request.urlopen(url).read().decode("utf-8","ignore")pat='pic_url":"//(.*?)"'#获得图片URLimagelist=pile(pat).findall(data)for j in range(0,len(imagelist)):thisimg=imagelist[j]#构造图片URLthisimgurl="http://"+thisimgfile="F:/taobaoIMG/"+str(i)+str(j)+".jpg"urllib.request.urlretrieve(thisimgurl,filename=file)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。