91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .py
    金幣: 1
    下載: 1 次
    發布日期: 2021-06-06
  • 語言: Python
  • 標簽: 爬蟲??python代碼??

資源簡介

可以直接下載整站的圖片
代碼中使用多線程進行批量下載
代碼中相關的內容已經加了注釋 下載的同學應該可以自行修改里面的代碼了

資源截圖

代碼片段和文件信息

import?requests
import?os
from?lxml?import?etree
from?threading?import?*
from?time?import?sleep

nMaxThread?=?3??#這里設置需要開啟幾條線程
ThreadLock?=?BoundedSemaphore(nMaxThread)

gHeads?=?{
????“User-Agent“:“Mozilla/5.0?(Windows?NT?6.1;?WOW64)?AppleWebKit/537.36?(KHTML?like?Gecko)?Chrome/55.0.2883.87?Safari/537.36“
}

class?Meizitu(Thread):
????#構造函數
????def?__init__(selfmainRefererurltitle):
????????Thread.__init__(self)?#調用父類構造函數
????????self.MainReferer?=?mainReferer??
????????self.url?=?url
????????self.title?=?title[3:-4]??#這里是為了把給刪除??因為網站中的titles是這個是一個標題??同時?正好是3?右邊?正好是-4

????#線程開始函數
????def?run(self):
????????try:
????????????urlList?=?self.GetPhotoUrl()
????????????if?len(urlList)?>?0?and?urlList?!=?None:
????????????????self.SavePath(urlList)
????????????
????????finally:#當線程執行完成之后釋放?說明這個線程已經結束了?不管是異常結束還是正常結束?他都是結束了?那么就需要啟動下一個新的線程來執行?新的內容了?
????????????ThreadLock.release()

????#獲取圖片url列表
????def?GetPhotoUrl(self):
????????heads={
????????????“Referer“:self.MainReferer
????????}
????????heads.update(gHeads)
????????html?=?requests.get(self.urlheaders=heads)
????????if?html.status_code?==?200:
????????????xmlContent?=?etree.HTML(html.text)
????????????urlList?=?xmlContent.xpath(“//div[@id=‘picture‘]/p/img/@src“)??#獲取所有圖片列表
????????????return?urlList
????????else:
????????????return?None

????#保存圖片?如果文件夾不存在則創建文件夾
????def?SavePath(selfurlList):
????????heads?=?{
????????????“Referer“:?self.url?#這里是referer是因為網站有防盜鏈?加了這個字段就可以過掉他的防盜鏈
????????}
????????heads.update(gHeads)
????????savePath?=?“./photo/%s“?%?self.title
????????if?not?os.path.exists(savePath):??#判斷文件夾是否存在
????????????os.makedirs(savePath)???#makedirs?是遞歸創建目錄??mkdir是創建目錄?區別就是在于遞歸是可以創建深層

評論

共有 條評論