乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python爬蟲小白入門(二)requests庫

       小魏要學習 2019-03-27

      一、前言


      為什么要先說Requests庫呢,因為這是個功能很強大的網(wǎng)絡請求庫,可以實現(xiàn)跟瀏覽器一樣發(fā)送各種HTTP請求來獲取網(wǎng)站的數(shù)據(jù)。網(wǎng)絡上的模塊、庫、包指的都是同一種東西,所以后文中可能會在不同地方使用不同稱謂,不要迷惑哦。

      結合一個實例來講解吧。我的一個設計師小伙伴常去一些設計類網(wǎng)站收集素材,其中有個網(wǎng)站Unsplash里面美圖特別多,所以想要把里面的圖片都保存下來,這樣咱們的小爬蟲就登場了。說干就干,趕緊開始吧。

      先來準備環(huán)境

      二、運行環(huán)境


      • 系統(tǒng)版本
        我使用的是Windows10。
        好多小伙伴使用的是Mac,配置上基本相同。由于我多年混跡于微軟的開發(fā)平臺,經(jīng)常使用Visual Studio、SQL Server啥的,用Windows用習慣了(其實主要是因為Qiong窮?。?。所以這個教程我就以Windows系統(tǒng)為例了。

      • Python版本
        我電腦裝了好多個Python版本(學一個裝一個。。。),不過推薦使用Anaconda這個科學計算版本,主要是因為它自帶一個包管理工具,可以解決有些包安裝錯誤的問題。去Anaconda官網(wǎng),選擇Python3.5版本,然后下載安裝。

      • IDE
        我使用的是PyCharm,是專門為Python開發(fā)的IDE。這是JetBrians的產(chǎn)品,點我下載。

      三、requests 庫的安裝


      使用Anaconda 版本的得小伙伴兒:用管理員權限運行cmd命令窗口,然后輸入
      conda install requests

      看動圖:

      直接使用Python3.5的小伙伴兒輸入這個命令:
      pip install requests

      如果你機器上存在多個Python版本,要給Python3.5的版本安裝requests庫,需要輸入以下命令:
      py -3 -m pip install requests

      好啦,requests庫安裝完畢,接下來我們會在實際例子中演示它的使用。想要深入了解requests模塊的小伙伴也可以仔細閱讀英文官方文檔,和中文官方文檔,如果用到該文沒有提到的功能,則查看文檔即可。

      四、開工


      首先我們打開PyCharm,需要選擇一下它的頁面主題。選擇你喜歡的風格,以及選擇使用的Python版本。然后打開一個你想要存放爬蟲的目錄,進入后長這樣。

      我們再創(chuàng)建一個python文件,輸入第一行代碼來導入requests庫:
      import requests #導入requests庫

      然后用它來獲取咱們的目標網(wǎng)頁:

      r = requests.get('https://') #像目標url地址發(fā)送get請求,返回一個response對象print(r.text) #r.text是http response的網(wǎng)頁HTML

      在菜單欄點擊“Run”,選擇該文件(或者直接在窗口中點擊右鍵,運行該文件):

      執(zhí)行完之后,底部會出現(xiàn)輸出結果:


      可以看到底部是獲取到的網(wǎng)頁內(nèi)容。這就完成了爬蟲的第一步,獲取到了網(wǎng)頁的HTML內(nèi)容。
      怎么樣,很簡單吧。

      這只是用到了requests庫的get請求,還有其他的請求使用也與之類似。下面我們簡單介紹一下每個請求的用法。

      五、requests庫的使用


      因為有中文的官方文檔,我就不介紹所有的功能了,只把常用到的說一下,大家用到更多功能的時候再去翻官方文檔吧。

      requests 庫就是用來發(fā)送各種請求的,所以,我們就來看看各種請求怎么使用:

      5.1 get 請求

      r = requests.get("https://")
      這就是我們剛剛用到的。其實就是向網(wǎng)站發(fā)送了一個get請求,然后網(wǎng)站會返回一個response。r 就是response。大家可以在運行的時候查看r的type。
      print(type(r))

      get請求還可以傳遞參數(shù):

      payload = {'key1': 'value1', 'key2': 'value2'}r = requests.get("http:///get", params=payload)

      上面代碼向服務器發(fā)送的請求中包含了兩個參數(shù)key1和key2,以及兩個參數(shù)的值。實際上它構造成了如下網(wǎng)址:
      http:///get?key1=value1&key2=value2

      5.2 POST請求

      無參數(shù)的post請求:
      r = requests.post("http:///post")
      有參數(shù)的post請求:

      payload = {'key1': 'value1', 'key2': 'value2'}r = requests.post("http:///post", data=payload)

      post請求多用來提交表單數(shù)據(jù),即填寫一堆輸入框,然后提交。

      5.3 其他請求

      其他一些請求例如put請求、delete請求、head請求、option請求等其實都是類似的。但是平時用的不多,就不仔細介紹了。有用到的可以去看官網(wǎng)文檔哦。閱讀官方文檔是必備技能!

      r = requests.put("http:///put")r = requests.delete("http:///delete")r = requests.head("http:///get")r = requests.options("http:///get")

      六、后語


      我們剛才用requests庫發(fā)送http請求獲得了網(wǎng)頁的HTML內(nèi)容,那么應該如何從HTML中獲得圖片呢?

      BeautifulSoup庫就此登場啦,趕快去看一下篇來了解它的用法吧。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多