python爬虫淘宝手机_【Python3 爬虫】14_爬取淘宝上的手机图片
現(xiàn)在我們想要使用爬蟲爬取淘寶上的手機圖片,那么該如何爬取呢?該做些什么準備工作呢?
首先,我們需要分析網(wǎng)頁,先看看網(wǎng)頁有哪些規(guī)律
我們可以看到左側(cè)是主題市場,將鼠標移動到【女裝/男裝/內(nèi)衣】這一欄目,我們可以看到更細類的展示
假如我們現(xiàn)在需要爬取【羽絨服】,那么我們進入到【羽絨服】衣服這個界面
此時查看瀏覽器地址,我們可以看到
網(wǎng)址復制到word或者其他地方會發(fā)生url轉(zhuǎn)碼
我們可以選中【羽絨服模塊的第1,2,3頁進行網(wǎng)址對比】,對比結(jié)果如下:
從上圖我們可以看出:三頁的s值都是相差60
然后我們再看下圖片地址:
圖片中標記的地方或許是兩個圖片最大的差別,于是打開源代碼搜索
圖片1搜索結(jié)果
圖片2搜索結(jié)果
從兩個網(wǎng)址我們發(fā)現(xiàn)了共同的特征:都是以"pic_url":"//開頭,網(wǎng)址分析到此結(jié)束,那么我們接下來就寫代碼了。
代碼如下:
importurllib.requestimportre#設(shè)置關(guān)鍵字
keywords = "羽絨服"
#quote函數(shù)進行url編碼(屏蔽特殊的字符)
key =urllib.request.quote(keywords)#設(shè)置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)#循環(huán)遍歷抓取
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查看
我們已經(jīng)成功爬取,并且爬取的圖片與頁面上是一致的。
原文:https://www.cnblogs.com/OliverQin/p/8907248.html
總結(jié)
以上是生活随笔為你收集整理的python爬虫淘宝手机_【Python3 爬虫】14_爬取淘宝上的手机图片的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【编译原理】为什么编程语言中,标识符不能
- 下一篇: python两个集合相减_python集