国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python爬蟲文件下載圖文教程

2020-02-16 00:16:00
字體:
來源:轉載
供稿:網友

而今天我們要說的內容是:如果在網頁中存在文件資源,如:圖片,電影,文檔等。怎樣通過Python爬蟲把這些資源下載下來。

1、怎樣在網上找資源:

就是百度圖片為例,當你如下圖在百度圖片里搜索一個主題時,會為你跳出一大堆相關的圖片。

還有如果你想學英語,找到一個網站有很多mp3的聽力資源,這些可能都是你想獲取的內容。

現在是一個互聯網的時代,只要你去找,基本上能找到你想要的任何資源。

2、怎樣識別網頁中的資源:

以上面搜索到的百度圖片為例。找到了這么多的內容,當然你可以通過手動一張張的去保存,但這樣做既費力又費事。你當然更希望通過程序自動去下載所找到的資源。要想代碼識別這些資源,就要告訴代碼這些資源有哪些特征,怎樣在網頁中找到它們。

打開瀏覽器的調試功能(不同瀏覽器可能有差別,不知道的百度一下吧)。找出網頁中你想要下載資源的路徑,如下圖所示。如果有許多類似資源需要下載,則要找到識別這些資源地址的規律,然后告訴代碼。

3、資源下載方法一:

代碼很簡單,直接上代碼:

from urllib.request import urlretrieveurlretrieve("圖片URL", "./image.jpg")

 

直接通過urlretrieve函數就把URL對應的圖片給下載到當前文件夾(./)中了,并把圖片命名為image.jpg。

4、資源下載方法二:

還是直接看代碼:

import requestsresource = requests.get("圖片URL")with open("./image.jpg", mode="wb") as fh:  fh.write(resource.content)

此下載方法要安裝python的requests庫。從功能上來說與下載方法一是一樣的。python庫的安裝方法用pip就好。很簡單,這里都不啰嗦了。

5、資源下載方法三:

看代碼:

import requestsresource = requests.get("圖片URL", stream=True)with open("./image.jpg", mode="wb") as fh:  for chunk in resource.iter_content(chunk_size=100):    fh.write(chunk)

此方法與下載方法二的不同之處在于在get方法調用時使用了參數【stream=True】。而在寫入的文件的時候是分塊寫入的。

什么意思呢:

前兩種方法是把一個文件全部下載到內存后,再一起寫入到硬盤文件中。

方法三是下載一定的量(這里指的是100字節)后,就寫入到硬盤文件中,直到全部寫完。

第三種方法的好處是,如果在下載大容量文件時,不會造成內存的過度使用。

6、資源下載說明一:

上述的代碼都是通過下載圖片資源為例子的,但所有其它資源,如文檔,電影等的下載方式是一樣的。關鍵是要正確的識別出網頁中資源所對應的URL地址才能夠正確的下載(因為有些資源是用的相對路徑或加密后的路徑)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛川县| 田东县| 徐州市| 长沙县| 台安县| 平遥县| 十堰市| 财经| 邻水| 金山区| 沿河| 会宁县| 体育| 镇雄县| 石河子市| 永寿县| 房产| 镇原县| 双江| 江永县| 米易县| 县级市| 公安县| 明星| 旅游| 防城港市| 德阳市| 阜城县| 肃南| 西和县| 正宁县| 格尔木市| 邳州市| 辉县市| 增城市| 吉水县| 太康县| 治县。| 开封县| 贡觉县| 柳河县|