最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 爬蟲一鍵爬取 淘寶天貓寶貝頁面主圖顏色圖和詳情圖的教程

 更新時間:2018年05月22日 15:30:40   作者:mzbqhbc12  
今天小編就為大家分享一篇python 爬蟲一鍵爬取 淘寶天貓寶貝頁面主圖顏色圖和詳情圖的教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

實(shí)例如下所示:

import requests
import re,sys,os
import json
import threading
import pprint
class spider:
 def __init__(self,sid,name):
 
 self.id = sid
 self.headers = { "Accept":"text/html,application/xhtml+xml,application/xml;",
  "Accept-Encoding":"gzip",
  "Accept-Language":"zh-CN,zh;q=0.8",
  "Referer":"http://www.example.com/",
  "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
  }
 
 self.name=name
 def openurl(self,url):
 
 self.request = requests.get(url,headers = self.headers) 
 if self.request.ok:
  return self.request.text
  
 def matchs(self):
 
 tmall_exp = r"Setup\(([\s\S]+?)\);"### 匹配商品數(shù)據(jù)的正則
 detail= r"src=\"(https://img\S+?[jpgifn]+?)\"" ###匹配 商品詳情圖的正則
 html = self.openurl("https://detail.tmall.com/item.htm?id=%s"%self.id)
 data = re.findall(tmall_exp,html)
 data = json.loads(data[0])
 main_img = data['propertyPics'] ## 這里包括了主圖和顏色圖的地址
 color_data =data['valItemInfo'] ['skuList'] ### 這里獲得商品的顏色信息列表 包括顏色編碼 顏色名稱,商品skuID
 detail_html = self.openurl("http:"+data['api']["httpsDescUrl"])
 detail_image = re.findall(detail,detail_html)
 self.newdata={"MAIN":main_img['default'],"DETAIL":detail_image,"id":self.id,}
 
 psvs = []
 self.newdata['COLOR']=[]
 
 for v in range(len(color_data)):
  if ";"in color_data[v]["pvs"]:
  psv = color_data[v]['pvs'][color_data[v]['pvs'].find(";")+1:]
  else:
  psv = color_data[v]['pvs']
  if psv in psvs:
  
  continue
  psvs.append(psv)
 
  self.newdata['COLOR'].append({color_data[v]["names"]:main_img[";"+psv+";"]})
  
 pprint.pprint(self.newdata)
 
 return self.newdata
 
 def download(self):
 if len(self.newdata)>0:
  for x in range(len(self.newdata['MAIN'])):
  
  threading.Thread(target=self.download_main,args=(self.newdata['MAIN'][x],x)).start()
  
  for x in self.newdata['COLOR']:
  
  threading.Thread(target=self.download_color,args=(x,)).start()
  for x in range(len(self.newdata['DETAIL'])):
  
  threading.Thread(target=self.download_detail,args=(self.newdata['DETAIL'][x],x)).start()
 return
 def download_main(self,url,index):
 try:
  img = requests.get("http:"+url,stream=True,headers = self.headers,timeout=10)
 except:
  print(sys.exc_info())
  return
 if img.ok:
  if not os.path.exists(self.name+"/main"):
  try:
   os.makedirs(self.name+"/main")
  except:
   pass
  imgs = open(self.name+"/main/%s.jpg"%index,"wb")
  imgs.write(img.content)
  imgs.close()
  
 def download_color(self,url):
  
 try:
  img = requests.get("http:"+url[list(url.keys())[0]][0],stream=True,headers = self.headers,timeout=10)
 except:
  print(sys.exc_info())
  return
 if img.ok:
  if not os.path.exists(self.name+"/color"):
  try:
   os.makedirs(self.name+"/color")
  except:
   pass
  if "/"in list(url.keys())[0]:
  color = list(url.keys())[0].replace("/","_")
  elif "\\" in list(url.keys())[0]:
  color = list(url.keys())[0].replace("\\","_")
  else:
  color = list(url.keys())[0]
  imgs = open(self.name+"/color/%s.jpg"%color,"wb")
  imgs.write(img.content)
  imgs.close()
 def download_detail(self,url,index):
 try:
  img = requests.get(url,stream=True,headers = self.headers,timeout=10)
 except:
  print(sys.exc_info())
  return
 if img.ok:
  if not os.path.exists(self.name+"/detail"):
  try:
   os.makedirs(self.name+"/detail")
  except:
   pass
  
  imgs = open(self.name+"/detail/%s.jpg"%index,"wb")
  imgs.write(img.content)
  imgs.close()
  
if __name__ =="__main__":
 
 sid = 528766269341 ## 這里輸入天貓寶貝ID
 taobao = spider(sid,"下載圖片/T")
 taobao.matchs()
 taobao.download()

以上這篇python 爬蟲一鍵爬取 淘寶天貓寶貝頁面主圖顏色圖和詳情圖的教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)大樂透號碼隨機(jī)生成

    Python實(shí)現(xiàn)大樂透號碼隨機(jī)生成

    全國有很多彩民,其中購買最多的彩種分別是體彩大樂透和福彩雙色球。本篇文章將介紹Python實(shí)現(xiàn)彩票自由的全流程:隨機(jī)選取號碼+查看是否中獎,需要的可以參考一下
    2022-05-05
  • python實(shí)現(xiàn)在一個畫布上畫多個子圖

    python實(shí)現(xiàn)在一個畫布上畫多個子圖

    今天小編就為大家分享一篇python實(shí)現(xiàn)在一個畫布上畫多個子圖,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pytorch中torch.max和Tensor.view函數(shù)用法詳解

    pytorch中torch.max和Tensor.view函數(shù)用法詳解

    今天小編就為大家分享一篇pytorch中torch.max和Tensor.view函數(shù)用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中容易被忽視的核心功能總結(jié)

    Python中容易被忽視的核心功能總結(jié)

    Python是一門富有魅力的編程語言,擁有豐富的功能和庫,以及強(qiáng)大的社區(qū)支持,然而,有一些核心功能經(jīng)常被忽視,而它們實(shí)際上可以極大地提高代碼的質(zhì)量、可讀性和性能,本文將給大家詳細(xì)的介紹一下這些容易被忽視的功能,需要的朋友可以參考下
    2023-11-11
  • python manim實(shí)現(xiàn)排序算法動畫示例

    python manim實(shí)現(xiàn)排序算法動畫示例

    這篇文章主要為大家介紹了python manim實(shí)現(xiàn)排序算法動畫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 詳解Python虛擬機(jī)是如何實(shí)現(xiàn)閉包的

    詳解Python虛擬機(jī)是如何實(shí)現(xiàn)閉包的

    Python中的閉包是一個強(qiáng)大的概念,允許函數(shù)捕獲和訪問其周圍的作用域,即使這些作用域在函數(shù)執(zhí)行完畢后也能被訪問,這篇文章將著重討論P(yáng)ython虛擬機(jī)是如何實(shí)現(xiàn)閉包的,文中有相關(guān)的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2023-12-12
  • Python實(shí)現(xiàn)人機(jī)中國象棋游戲

    Python實(shí)現(xiàn)人機(jī)中國象棋游戲

    中國象棋是一種古老的棋類游戲,大約有兩千年的歷史。本文將介紹如何通過Python中的Pygame模塊實(shí)現(xiàn)人機(jī)中國象棋游戲,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • Python去掉字符串中空格的方法

    Python去掉字符串中空格的方法

    這篇文章主要介紹了Python中去掉字符串中空格的方法,使用了strip()、lstrip()、rstrip()函數(shù),需要的朋友可以參考下
    2014-03-03
  • Python中tkinter開發(fā)的常用29種功能用法總結(jié)

    Python中tkinter開發(fā)的常用29種功能用法總結(jié)

    tkinter(Tk?interface)是Python的標(biāo)準(zhǔn)GUl庫,支持跨平臺的GUl程序開發(fā),本文為大家整理了tkinter開發(fā)時常用的29種功能用法,希望對大家有所幫助
    2023-05-05
  • python實(shí)現(xiàn)將一個數(shù)組逆序輸出的方法

    python實(shí)現(xiàn)將一個數(shù)組逆序輸出的方法

    今天小編就為大家分享一篇python實(shí)現(xiàn)將一個數(shù)組逆序輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論

五河县| 东山县| 黑河市| 财经| 台江县| 徐水县| 南安市| 光泽县| 龙口市| 离岛区| 赤峰市| 辽宁省| 灵台县| 西昌市| 阆中市| 成都市| 伊川县| 安阳市| 肃宁县| 巴塘县| 靖安县| 广东省| 南江县| 昌平区| 洞口县| 民勤县| 松潘县| 宝清县| 得荣县| 五大连池市| 青冈县| 白水县| 榆社县| 清水河县| 凤山市| 武邑县| 临清市| 阿克苏市| 延寿县| 宁城县| 施秉县|