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

python3 圖片referer防盜鏈的實(shí)現(xiàn)方法

 更新時(shí)間:2018年03月12日 13:56:11   作者:qq_34748223  
本篇文章主要介紹了python3 圖片referer防盜鏈的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

本篇文章主要破解referer防盜鏈技術(shù)

referer防盜鏈技術(shù):

referer防盜鏈技術(shù)是服務(wù)器通過(guò)檢查客戶(hù)端提起的請(qǐng)求包內(nèi)的referer字段來(lái)阻止圖片下載的,如果referer字段錯(cuò)誤,服務(wù)器會(huì)跳到另一個(gè)地址,這將導(dǎo)致錯(cuò)誤的圖片下載。

上面已經(jīng)了解到了referer防盜鏈技術(shù),下面直接上代碼。

(我用的是python3,需要用到requests,html非系統(tǒng)包

下載方法:用python中的pip下載即可)

import urllib.request 
import requests 
import time 
import os 
import shutil 
from lxml import html 
def getPage(): 
  ''''' 
  從網(wǎng)站首頁(yè)獲取妹子的網(wǎng)址 
  ''' 
  fres=open('res.txt','w') 
  htm=urllib.request.urlopen('http://www.mzitu.com/') 
  out=htm.read() 
  out=html.fromstring(out) 
  urls=[] 
  for res in out.xpath('//ul[@id="pins"]/li/a/@href'): 
    urls.append(res) 
  for r in urls: 
    fres.write(r) 
    fres.write('\n\r') 
  fres.close() 
  return urls 
def getPiclink(url): 
  ''''' 
  獲取一個(gè)妹子的標(biāo)題和她的所有圖片地址 
  ''' 
  i_headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0'} 
  sel=urllib.request.Request(url, headers=i_headers) 
  #使用代理瀏覽器訪(fǎng)問(wèn)網(wǎng)站 
  sel.add_header('Referer', 'http://www.mzitu.com/') 
  #將referer字段添加到請(qǐng)求包里 
  sel=urllib.request.urlopen(sel).read() 
  sel=html.fromstring(sel) 
  total=sel.xpath('//div[@class="pagenavi"]/a[last()-1]/span/text()')[0] 
  title=sel.xpath('//h2[@class="main-title"]/text()')[0] 
  jpglist=[] 
  for i in range(int(total)): 
    link='{}/{}'.format(url, i+1) 
    s=html.fromstring(urllib.request.urlopen(link).read()) 
    jpg=s.xpath('//div[@class="main-image"]/p/a/img/@src')[0] 
    jpglist.append(jpg) 
  return title,jpglist 
def downloadJpg(title,piclist,link): 
  ''''' 
  下載getPiclink()獲取到的妹子的圖片 
  ''' 
  k=1 
  count=len(piclist) 
  dirname=u"[%sP]%s" %(str(count),title) 
  if os.path.exists(dirname): 
    shutil.rmtree(dirname) 
  os.mkdir(dirname) 
  i_header={} 
  i_header['Referer']=link 
  #將getPiclink()獲取到的妹子的首頁(yè)網(wǎng)址作為referer字段的值 
  for i in piclist: 
    filename='%s/%s/%s.jpg' %(os.path.abspath('.'),dirname, k) 
    with open(filename,'wb') as jpg: 
      jpg.write(requests.get(i, headers=i_header).content) 
    #將referer字段添加到請(qǐng)求包里并下載圖片 
      time.sleep(0.5) 
    k+=1 
if __name__=='__main__': 
  for link in getPage(): 
    title,pic=getPiclink(link) 
    downloadJpg(title,pic,link) 
  print('OK!') 

另外給大家推薦一個(gè)很好的抓包工具wireshark,我就是通過(guò)wirshark抓包分析后得到的referer信息。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python將list保存到文件的3種方法實(shí)例代碼

    Python將list保存到文件的3種方法實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Python將list保存到文件的3種方法,Python中提供了文件操作的功能,可以通過(guò)打開(kāi)和讀寫(xiě)文件實(shí)現(xiàn),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 用Python實(shí)現(xiàn)一本個(gè)性化日歷

    用Python實(shí)現(xiàn)一本個(gè)性化日歷

    大家好,本篇文章主要講的是用Python實(shí)現(xiàn)一本個(gè)性化日歷,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02
  • Python深度強(qiáng)化學(xué)習(xí)之DQN算法原理詳解

    Python深度強(qiáng)化學(xué)習(xí)之DQN算法原理詳解

    DQN算法是DeepMind團(tuán)隊(duì)提出的一種深度強(qiáng)化學(xué)習(xí)算法,在許多電動(dòng)游戲中達(dá)到人類(lèi)玩家甚至超越人類(lèi)玩家的水準(zhǔn),本文就帶領(lǐng)大家了解一下這個(gè)算法,快來(lái)跟隨小編學(xué)習(xí)一下
    2021-12-12
  • Python使用__new__()方法為對(duì)象分配內(nèi)存及返回對(duì)象的引用示例

    Python使用__new__()方法為對(duì)象分配內(nèi)存及返回對(duì)象的引用示例

    這篇文章主要介紹了Python使用__new__()方法為對(duì)象分配內(nèi)存及返回對(duì)象的引用,結(jié)合實(shí)例形式分析了Python對(duì)象初始化及內(nèi)存操作相關(guān)使用技巧,需要的朋友可以參考下
    2019-09-09
  • Python實(shí)現(xiàn)在PyPI上發(fā)布自定義軟件包的方法詳解

    Python實(shí)現(xiàn)在PyPI上發(fā)布自定義軟件包的方法詳解

    在Python中我們經(jīng)常使用pip來(lái)安裝第三方Python軟件包,其實(shí)我們每個(gè)人都可以免費(fèi)地將自己寫(xiě)的Python包發(fā)布到PyPI上。本文我們就將詳細(xì)介紹如何發(fā)布測(cè)試包,需要的可以參考一下
    2022-06-06
  • Python簡(jiǎn)單實(shí)現(xiàn)安全開(kāi)關(guān)文件的兩種方式

    Python簡(jiǎn)單實(shí)現(xiàn)安全開(kāi)關(guān)文件的兩種方式

    這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)安全開(kāi)關(guān)文件的兩種方式,涉及Python的try語(yǔ)句針對(duì)錯(cuò)誤的判定與捕捉相關(guān)技巧,需要的朋友可以參考下
    2016-09-09
  • np.array()函數(shù)的使用方法

    np.array()函數(shù)的使用方法

    本文主要介紹了np.array()函數(shù)的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 基于Python實(shí)現(xiàn)的購(gòu)物商城管理系統(tǒng)

    基于Python實(shí)現(xiàn)的購(gòu)物商城管理系統(tǒng)

    這篇文章主要介紹了基于Python實(shí)現(xiàn)的購(gòu)物商城管理系統(tǒng),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python實(shí)現(xiàn)兩種多分類(lèi)混淆矩陣

    Python實(shí)現(xiàn)兩種多分類(lèi)混淆矩陣

    這篇文章主要為大家介紹了Python實(shí)現(xiàn)兩種多分類(lèi)混淆矩陣,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級(jí)隊(duì)列queue用法詳解

    Python數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級(jí)隊(duì)列queue用法詳解

    queue庫(kù)提供了一個(gè)適用于多線(xiàn)程編程的先進(jìn)先出(FIFO)數(shù)據(jù)結(jié)構(gòu),可以用來(lái)在生產(chǎn)者與消費(fèi)者線(xiàn)程之間安全地傳遞消息或其他數(shù)據(jù),它會(huì)為調(diào)用者處理鎖定,使多個(gè)線(xiàn)程可以安全而更容易地處理同一個(gè)Queue實(shí)例.Queue的大小可能受限,以限制內(nèi)存使用或處理,需要的朋友可以參考下
    2021-05-05

最新評(píng)論

泰来县| 东山县| 乌恰县| 尼勒克县| 延寿县| 穆棱市| 汨罗市| 巨鹿县| 进贤县| 仙游县| 四会市| 新乐市| 永和县| 九龙城区| 永和县| 石阡县| 缙云县| 伊金霍洛旗| 邹平县| 塔河县| 隆尧县| 六盘水市| 天柱县| 新巴尔虎右旗| 道孚县| 康马县| 澎湖县| 永丰县| 科尔| 同江市| 肥东县| 朝阳县| 宜都市| 延吉市| 峡江县| 桐庐县| 昌乐县| 墨竹工卡县| 苗栗县| 甘谷县| 贵阳市|