欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python爬蟲(chóng)文件下載圖文教程

 更新時(shí)間:2018年12月23日 09:26:46   作者:fangjun123fj  
在本篇內(nèi)容里小編給大家分享的是關(guān)于Python爬蟲(chóng)文件下載的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下。

而今天我們要說(shuō)的內(nèi)容是:如果在網(wǎng)頁(yè)中存在文件資源,如:圖片,電影,文檔等。怎樣通過(guò)Python爬蟲(chóng)把這些資源下載下來(lái)。

1、怎樣在網(wǎng)上找資源:

就是百度圖片為例,當(dāng)你如下圖在百度圖片里搜索一個(gè)主題時(shí),會(huì)為你跳出一大堆相關(guān)的圖片。

還有如果你想學(xué)英語(yǔ),找到一個(gè)網(wǎng)站有很多mp3的聽(tīng)力資源,這些可能都是你想獲取的內(nèi)容。

現(xiàn)在是一個(gè)互聯(lián)網(wǎng)的時(shí)代,只要你去找,基本上能找到你想要的任何資源。

2、怎樣識(shí)別網(wǎng)頁(yè)中的資源:

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

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

3、資源下載方法一:

代碼很簡(jiǎn)單,直接上代碼:

from urllib.request import urlretrieve

urlretrieve("圖片URL", "./image.jpg")

 

直接通過(guò)urlretrieve函數(shù)就把URL對(duì)應(yīng)的圖片給下載到當(dāng)前文件夾(./)中了,并把圖片命名為image.jpg。

4、資源下載方法二:

還是直接看代碼:

import requests

resource = requests.get("圖片URL")

with open("./image.jpg", mode="wb") as fh:

  fh.write(resource.content)

此下載方法要安裝python的requests庫(kù)。從功能上來(lái)說(shuō)與下載方法一是一樣的。python庫(kù)的安裝方法用pip就好。很簡(jiǎn)單,這里都不啰嗦了。

5、資源下載方法三:

看代碼:

import requests

resource = 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方法調(diào)用時(shí)使用了參數(shù)【stream=True】。而在寫(xiě)入的文件的時(shí)候是分塊寫(xiě)入的。

什么意思呢:

前兩種方法是把一個(gè)文件全部下載到內(nèi)存后,再一起寫(xiě)入到硬盤(pán)文件中。

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

第三種方法的好處是,如果在下載大容量文件時(shí),不會(huì)造成內(nèi)存的過(guò)度使用。

6、資源下載說(shuō)明一:

上述的代碼都是通過(guò)下載圖片資源為例子的,但所有其它資源,如文檔,電影等的下載方式是一樣的。關(guān)鍵是要正確的識(shí)別出網(wǎng)頁(yè)中資源所對(duì)應(yīng)的URL地址才能夠正確的下載(因?yàn)橛行┵Y源是用的相對(duì)路徑或加密后的路徑)。

7、資源下載說(shuō)明二:

上面例子中的代碼都是下載單一資源的。如果要在同一網(wǎng)頁(yè)中下載多個(gè)資源的思路如下:

1. 找出要下載資源的URL,并形成一個(gè)資源集合;

2. 把下載函數(shù)中的資源URL與保存路徑參數(shù)化;

3. 遍歷資源集合,依靠循環(huán)調(diào)用下載函數(shù)來(lái)達(dá)到多個(gè)資源下載的目的。

總結(jié):以上就是本次介紹關(guān)于Python爬蟲(chóng)下載文件的所有知識(shí)點(diǎn)內(nèi)容,感謝大家的閱讀。

相關(guān)文章

  • 詳解從Django Rest Framework響應(yīng)中刪除空字段

    詳解從Django Rest Framework響應(yīng)中刪除空字段

    這篇文章主要介紹了詳解從Django Rest Framework響應(yīng)中刪除空字段,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python 利用pywifi模塊實(shí)現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)

    python 利用pywifi模塊實(shí)現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)

    這篇文章主要介紹了python 利用pywifi模塊實(shí)現(xiàn)連接網(wǎng)絡(luò)破解wifi密碼實(shí)時(shí)監(jiān)控網(wǎng)絡(luò),需要的朋友可以參考下
    2019-09-09
  • python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼

    python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼

    大家好,本篇文章主要講的是python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼,昂星期的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python中函數(shù)的基本定義與調(diào)用及內(nèi)置函數(shù)詳解

    Python中函數(shù)的基本定義與調(diào)用及內(nèi)置函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于Python中函數(shù)的基本定義與調(diào)用及內(nèi)置函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python語(yǔ)音識(shí)別指南終極版(有這一篇足矣)

    python語(yǔ)音識(shí)別指南終極版(有這一篇足矣)

    這篇文章主要介紹了python語(yǔ)音識(shí)別指南終極版的相關(guān)資料,包括語(yǔ)音識(shí)別的工作原理及使用代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Python文件操作和數(shù)據(jù)格式詳解(簡(jiǎn)單簡(jiǎn)潔)

    Python文件操作和數(shù)據(jù)格式詳解(簡(jiǎn)單簡(jiǎn)潔)

    文本處理是腳本語(yǔ)言的強(qiáng)項(xiàng),下面這篇文章主要給大家介紹了關(guān)于Python文件操作和數(shù)據(jù)格式的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 通過(guò)Python實(shí)現(xiàn)電腦定時(shí)關(guān)機(jī)的兩種方法

    通過(guò)Python實(shí)現(xiàn)電腦定時(shí)關(guān)機(jī)的兩種方法

    這篇文章主要介紹了分別利用PyQT5和Tkinter實(shí)現(xiàn)電腦的定時(shí)關(guān)機(jī)小程序,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,快跟隨小編一起學(xué)習(xí)一下吧
    2021-12-12
  • 一文掌握python中的時(shí)間包

    一文掌握python中的時(shí)間包

    這篇文章主要介紹了python中的時(shí)間包,主要包括datetime時(shí)間包,獲取當(dāng)前時(shí)間,獲取時(shí)間間隔及時(shí)間對(duì)象轉(zhuǎn)時(shí)間字符串的相關(guān)知識(shí),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • python與xml數(shù)據(jù)的交互詳解

    python與xml數(shù)據(jù)的交互詳解

    這篇文章主要介紹了python與xml數(shù)據(jù)的交互詳解,文章圍繞主題站卡詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • Python Django請(qǐng)求和響應(yīng)對(duì)象詳解

    Python Django請(qǐng)求和響應(yīng)對(duì)象詳解

    這篇文章主要給大家介紹了關(guān)于django的請(qǐng)求和響應(yīng)對(duì)象,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11

最新評(píng)論