先來介紹一些python web編程基礎知識
1. GET與POST區別
1)POST是被設計用來向web服務器上放東西的,而GET是被設計用來從服務器取東西的,GET也能夠向服務器傳送較少的數據,而Get之所以也能傳送數據,只是用來設計告訴服務器,你到底需要什么樣的數據.POST的信息作為HTTP 請求的內容,而GET是在HTTP 頭部傳輸的;
2)POST與GET在HTTP 中傳送的方式不同,GET的參數是在HTTP 的頭部傳送的,而Post的數據則是在HTTP 請求的內容里傳送;
3)POST傳輸數據時,不需要在URL中顯示出來,而GET方法要在URL中顯示;
4)GET方法由于受到URL長度的限制,只能傳遞大約1024字節;POST傳輸的數據量大,可以達到2M
2. Cookies技術
Cookies現在經常被大家提到,那么到底什么是Cookies,它有什么作用 呢?
Cookies是一種能夠讓網站服務器把少量數據儲存到客戶端的硬盤或內存,或是從客戶端的硬盤讀取數據的一種技術。Cookies是當你瀏覽某網站 時,由Web服務器置于你硬盤上的一個非常小的文本文件,它可以記錄你的用戶ID、密碼、瀏覽過的網頁、停留的時間等信息。
當你再次來到該網站時,網站通過讀取Cookies,得知你的相關信息,就可以做出相應的動作,如在頁面顯示歡迎你的標語,或者讓你不用輸入ID、密碼就直接登錄等等。
從本質上講,它可以看作是你的身份證。但Cookies不能作為代碼執行,也不會傳送病毒,且為你所專有,并只能由提供它的服務器來讀取。
保存的信息片斷以“名/值”對(name-value pairs)的形式儲存,一個“名/值”對僅僅是一條命名的數據。
一個網站只能取得它放在你的電腦中的信息,它無法從其它的Cookies文件中取得信息,也無法得到你的電腦上的其它任何東西。
Cookies中的內容大多數經過了加密處理,因此一般用戶看來只是一些毫無意義的字母數字組合,只有服務器的CGI處理程序才知道它們真正的含義。
Python3通過Web網頁圖片下載基本功能點
- 要實現的主要功能點:
- 解析網頁中的圖片鏈接
- 對圖片鏈接進行檢測,如果圖片格式 圖片大小不符合要求,則不下載
- 加入異常處理機制
- 自動文件名提取,從圖片鏈接直接提取文件名
Python3通過Web網頁圖片下載參考代碼:
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("訪問網絡文件"+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個文件需要下載"%len(filepathlist)) for file in filepathlist: print( file ) print("開始多線程下載") task_threads=[] #存儲線程 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() #等待所有線程結束 print("線程結束") 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/" #要抓去的網頁鏈接,默認保存到e盤 WebUrl="http://hi.baidu.com/yuyinxuezi/item/df0b59140a06be27f6625cd4" main(WebUrl)
以上就是Python3實現Web網頁圖片下載的相關介紹,希望對大家的學習有所幫助。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
