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

Python3實(shí)現(xiàn)Web網(wǎng)頁(yè)圖片下載

 更新時(shí)間:2016年01月28日 14:41:29   投稿:lijiao  
這篇文章主要介紹了Python3通過(guò)request.urlopen實(shí)現(xiàn)Web網(wǎng)頁(yè)圖片下載,感興趣的小伙伴們可以參考一下

先來(lái)介紹一些python web編程基礎(chǔ)知識(shí)

1. GET與POST區(qū)別

1)POST是被設(shè)計(jì)用來(lái)向web服務(wù)器上放東西的,而GET是被設(shè)計(jì)用來(lái)從服務(wù)器取東西的,GET也能夠向服務(wù)器傳送較少的數(shù)據(jù),而Get之所以也能傳送數(shù)據(jù),只是用來(lái)設(shè)計(jì)告訴服務(wù)器,你到底需要什么樣的數(shù)據(jù).POST的信息作為HTTP 請(qǐng)求的內(nèi)容,而GET是在HTTP 頭部傳輸?shù)模?/p>

2)POST與GET在HTTP 中傳送的方式不同,GET的參數(shù)是在HTTP 的頭部傳送的,而Post的數(shù)據(jù)則是在HTTP 請(qǐng)求的內(nèi)容里傳送;

3)POST傳輸數(shù)據(jù)時(shí),不需要在URL中顯示出來(lái),而GET方法要在URL中顯示;

4)GET方法由于受到URL長(zhǎng)度的限制,只能傳遞大約1024字節(jié);POST傳輸?shù)臄?shù)據(jù)量大,可以達(dá)到2M

2. Cookies技術(shù)

Cookies現(xiàn)在經(jīng)常被大家提到,那么到底什么是Cookies,它有什么作用 呢?

Cookies是一種能夠讓網(wǎng)站服務(wù)器把少量數(shù)據(jù)儲(chǔ)存到客戶(hù)端的硬盤(pán)或內(nèi)存,或是從客戶(hù)端的硬盤(pán)讀取數(shù)據(jù)的一種技術(shù)。Cookies是當(dāng)你瀏覽某網(wǎng)站 時(shí),由Web服務(wù)器置于你硬盤(pán)上的一個(gè)非常小的文本文件,它可以記錄你的用戶(hù)ID、密碼、瀏覽過(guò)的網(wǎng)頁(yè)、停留的時(shí)間等信息。

當(dāng)你再次來(lái)到該網(wǎng)站時(shí),網(wǎng)站通過(guò)讀取Cookies,得知你的相關(guān)信息,就可以做出相應(yīng)的動(dòng)作,如在頁(yè)面顯示歡迎你的標(biāo)語(yǔ),或者讓你不用輸入ID、密碼就直接登錄等等。

從本質(zhì)上講,它可以看作是你的身份證。但Cookies不能作為代碼執(zhí)行,也不會(huì)傳送病毒,且為你所專(zhuān)有,并只能由提供它的服務(wù)器來(lái)讀取。

保存的信息片斷以“名/值”對(duì)(name-value pairs)的形式儲(chǔ)存,一個(gè)“名/值”對(duì)僅僅是一條命名的數(shù)據(jù)。

一個(gè)網(wǎng)站只能取得它放在你的電腦中的信息,它無(wú)法從其它的Cookies文件中取得信息,也無(wú)法得到你的電腦上的其它任何東西。

Cookies中的內(nèi)容大多數(shù)經(jīng)過(guò)了加密處理,因此一般用戶(hù)看來(lái)只是一些毫無(wú)意義的字母數(shù)字組合,只有服務(wù)器的CGI處理程序才知道它們真正的含義。

Python3通過(guò)Web網(wǎng)頁(yè)圖片下載基本功能點(diǎn)

  • 要實(shí)現(xiàn)的主要功能點(diǎn):
  • 解析網(wǎng)頁(yè)中的圖片鏈接
  • 對(duì)圖片鏈接進(jìn)行檢測(cè),如果圖片格式 圖片大小不符合要求,則不下載
  • 加入異常處理機(jī)制
  • 自動(dòng)文件名提取,從圖片鏈接直接提取文件名

Python3通過(guò)Web網(wǎng)頁(yè)圖片下載參考代碼:

from urllib import request
import threading
from time import sleep,ctime
from html import parser
def downjpg( filepath,FileName ="default.jpg" ):
 try:
  web = request.urlopen( filepath)
  print("訪(fǎng)問(wèn)網(wǎng)絡(luò)文件"+filepath+"\n")
  jpg = web.read()
  DstDir="E:\\image\\"
  print("保存文件"+DstDir+FileName+"\n")
  try:
   File = open( DstDir+FileName,"wb" )
   File.write( jpg)
   File.close()
   return
  except IOError:
   print("error\n")
   return
 except Exception:
  print("error\n")
  return
def downjpgmutithread( filepathlist ):
 print("共有%d個(gè)文件需要下載"%len(filepathlist))
 for file in filepathlist:
  print( file )
 print("開(kāi)始多線(xiàn)程下載")
 task_threads=[] #存儲(chǔ)線(xiàn)程
 count=1
 for file in filepathlist:
  t= threading.Thread( target=downjpg,args=(file,"%d.jpg"%count) )
  count=count+1
  task_threads.append(t)
 for task in task_threads:
  task.start()
 for task in task_threads:
  task.join() #等待所有線(xiàn)程結(jié)束
 print("線(xiàn)程結(jié)束")
class parserLinks( parser.HTMLParser):
 filelist=[]
 def handle_starttag(self,tag,attrs):
  if tag == 'img':
   for name,value in attrs:
    if name == 'src':
     print( value)
     self.filelist.append(value)
     #print( self.get_starttag_text() )
 def getfilelist(self):
  return self.filelist
def main(WebUrl):
 #globals flist
 if __name__ == "__main__":
  lparser = parserLinks()
  web = request.urlopen( WebUrl )
  #context= web.read()
  for context in web.readlines():
   _str="%s"%context
   try:
    lparser.feed( _str)
   except parser.HTMLParseError:
    #print( "parser error")
    pass
  web.close()
  imagelist= lparser.getfilelist()
  downjpgmutithread( imagelist)  
  #downjpgmutithread( flist)
#WebUrl="http://www.baidu.com/" #要抓去的網(wǎng)頁(yè)鏈接,默認(rèn)保存到e盤(pán)
WebUrl="http://hi.baidu.com/yuyinxuezi/item/df0b59140a06be27f6625cd4"
main(WebUrl)

以上就是Python3實(shí)現(xiàn)Web網(wǎng)頁(yè)圖片下載的相關(guān)介紹,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • 深入探討Python中高效逆序列表的方法小結(jié)

    深入探討Python中高效逆序列表的方法小結(jié)

    在Python編程中,有時(shí)需要將列表中的元素逆序排列,這篇文章主要為大家介紹了Python中逆序列表的幾種常見(jiàn)方法,希望對(duì)大家一定的幫助
    2024-01-01
  • 初探利用Python進(jìn)行圖文識(shí)別(OCR)

    初探利用Python進(jìn)行圖文識(shí)別(OCR)

    這篇文章主要介紹了初探利用Python進(jìn)行圖文識(shí)別(OCR),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • pandas滑動(dòng)窗口學(xué)習(xí)筆記(shift, diff, pct_change)

    pandas滑動(dòng)窗口學(xué)習(xí)筆記(shift, diff, pct_change)

    pandas中有3類(lèi)窗口,分別是滑動(dòng)窗口rolling?、擴(kuò)張窗口expanding以及指數(shù)加權(quán)窗口ewm,下面就來(lái)詳細(xì)的介紹一下這三種的用法,感興趣的可以了解一下
    2024-03-03
  • 關(guān)于TensorBoard可視化不顯示數(shù)據(jù)問(wèn)題No scalar data was found

    關(guān)于TensorBoard可視化不顯示數(shù)據(jù)問(wèn)題No scalar data was&nbs

    這篇文章主要介紹了如何解決TensorBoard可視化不顯示數(shù)據(jù)問(wèn)題No scalar data was found,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python線(xiàn)程條件變量Condition原理解析

    Python線(xiàn)程條件變量Condition原理解析

    這篇文章主要介紹了Python線(xiàn)程條件變量Condition原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • pandas map(),apply(),applymap()區(qū)別解析

    pandas map(),apply(),applymap()區(qū)別解析

    這篇文章主要介紹了pandas map(),apply(),applymap()區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果

    python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果

    在做圖像數(shù)據(jù)標(biāo)注時(shí),很難一次就做到精準(zhǔn)標(biāo)注,如果目標(biāo)比較小,即使微調(diào)也難以做到精準(zhǔn),所以就需要另外一個(gè)窗口對(duì)標(biāo)注區(qū)域進(jìn)行局部放大以方便微調(diào),這篇文章主要給大家介紹了關(guān)于python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 如何使用Python進(jìn)行OCR識(shí)別圖片中的文字

    如何使用Python進(jìn)行OCR識(shí)別圖片中的文字

    這篇文章主要介紹了使用Python進(jìn)行OCR識(shí)別圖片中的文字 ,本文通過(guò)實(shí)例代碼加文字說(shuō)明的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • 使用python腳本實(shí)現(xiàn)查詢(xún)火車(chē)票工具

    使用python腳本實(shí)現(xiàn)查詢(xún)火車(chē)票工具

    這篇文章主要介紹了使用python腳本實(shí)現(xiàn)查詢(xún)火車(chē)票工具,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • Python按鈕的響應(yīng)事件詳解

    Python按鈕的響應(yīng)事件詳解

    今天小編就為大家分享一篇關(guān)于Python按鈕的響應(yīng)事件詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03

最新評(píng)論

花莲县| 南宫市| 启东市| 洪泽县| 鹿邑县| 毕节市| 宜兰市| 徐水县| 闵行区| 郓城县| 德州市| 岳阳市| 太湖县| 兴隆县| 惠州市| 调兵山市| 阿鲁科尔沁旗| 兴国县| 健康| 双桥区| 金寨县| 辽阳市| 镇沅| 藁城市| 海伦市| 贵州省| 绥宁县| 定西市| 都兰县| 乐陵市| 内乡县| 保定市| 青海省| 和平区| 宿迁市| 石渠县| 鸡西市| 舞阳县| 和静县| 宿松县| 会同县|