该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
今天河马http给大家说一下,淘宝上的图片是怎么被爬取的。我们先打开淘宝,输入我们要抓取的图片的关键词,研究分析一下页面,查找所需信息所在的位置,然后开始爬取。
代码如下:
import os
import re
import urllib.request
import requests
def getHtml(url,headers):
# 河马代理设置
proxy = urllib.request.ProxyHandler({'http': '115.213.177.144:4223'})
opener = urllib.request.build_opener(proxy, urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
opener.addheaders = [headers] # 列表
data = urllib.request.urlopen(url).read().decode('utf-8', 'ignore')
pat='"pic_url":"(.*?)"'
imgUrls=re.findall(pat,data)
return data,imgUrls
if __name__=='__main__':
keyword='关键词信息'
#quote编码
keyword=urllib.request.quote(keyword)
pageString='0'
url='目标网址'+pageString
headers = ('User-Agent','agent信息')
data = getHtml(url,headers)[0]
print(data)
pat='"totalPage":(.*?),'
totalPage=int(re.findall(pat,data)[1])
print(totalPage)
path = os.path.join(os.getcwd(), 'img')
os.makedirs(path)
for page in range(totalPage):
pathpage = os.path.join(path, '第'+str(page+1)+'页')
os.makedirs(pathpage)
pageString=str(page*44)
url = '目标网址' + pageString
imgUrls=getHtml(url, headers)[1]
for i in range(1, len(imgUrls)):
try:
url='http:'+imgUrls[i]
print(url)
fileurl=pathpage+'/'+str(i)+'.jpg'
r=requests.get(url)
with open(fileurl,"wb") as f:
f.write(r.content)
except :
print('**** off')
通过上述代码,我们就可以获取到淘宝上的相关图片信息了。河马HTTP为您提供安全稳定、高效便捷的爬虫代理IP服务,更多问题请点击官网咨询客服。