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

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

    • 分享

      花了一周時間,終于把python爬蟲入門必學知識整理出來了

       hanxinhanxin 2020-03-15

      Python是近幾年最火熱的編程語言,大家既然看到了爬蟲的知識,想必也了解到python。

      很多都說python與爬蟲就是一對相戀多年的戀人,二者如膠似漆 ,形影不離,你中有我、我中有你,有python的地方絕對離不開爬蟲,有爬蟲的地方,話題永遠都繞不開python。

      因為小編也正在學習python編程,所以花了一周時間,將關于python爬蟲入門知識整理出來了,這些知識個人覺得是非常重要的,所以希望大家可以收藏起來,不要弄丟哦,畢竟辛苦了這么久。

      花了一周時間,終于把python爬蟲入門必學知識整理出來了

      什么是爬蟲

      爬蟲是一個程序,這個程序的目的就是為了抓取萬維網信息資源,比如你日常使用的谷歌等搜索引擎,搜索結果就全都依賴爬蟲來定時獲取。

      簡單來說,無論你想獲得哪些數(shù)據(jù),有了爬蟲都可以搞定,不論是文字、圖片、視頻,任何結構化非結構化的都能解決。

      爬蟲模塊

      re模塊——正則表達式模塊:

      是用于快速從一大堆字符中快速找出想要的子字符串的一種表達方式,這個模塊是初學者必須要弄清楚的,當你剛開始用的時候會覺得有難度,一旦上手了,你就會愛上它,邏輯性是非常強的。

      os模塊:

      對文件文本的操作,可以創(chuàng)建文件夾,訪問文件夾內容等,它會自適應于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進行相應的操作。

      比如說我們常見的os.name,“name”顧名思義就是“名字”,這里的名字是指操作系統(tǒng)的名字,主要作用是判斷目前正在使用的平臺,也要注意到該命令不帶括號。

      csv模塊:

      爬取出來的數(shù)據(jù)可以以csv的格式保存,可以用office辦公軟件中的Excel表格軟件打開,所以一般都是用于讀文件、寫文件、定義格式。

      花了一周時間,終于把python爬蟲入門必學知識整理出來了

      基礎的抓取操作

      Urllib:

      是python內置的HTTP請求庫,簡單的例子:

      import urllib.request

      response = urllib.request.urlopen('https://blog.csdn.net/weixin_43499626')

      print(response.read().decode('utf-8'))

      Requests:

      requests庫是一個非常實用的HTPP客戶端庫,是抓取操作最常用的一個庫。

      各種請求方式:常用requests.get()和requests.post()

      import requests

      r = requests.get('https://api.github.com/events')

      r1 = requests.get('http:///post',data={'key':'value'})

      Requests它會比urllib更加方便,可以節(jié)約我們大量的工作。

      花了一周時間,終于把python爬蟲入門必學知識整理出來了

      需要登錄的接口

      post請求:

      直接上代碼,就能看懂的解釋

      import requests

      url = "http://test"

      data = {"key":"value"}

      res = requests.post(url=url,data=data)print(res.text)

      get請求:

      @classmethod

      def send_get(cls, url, params, headers):

      response = cls.SessionRequest.get(url=url, params=params, headers=headers)

      return response.json()

      常見的反爬有哪些

      從功能上來講,爬蟲一般分為數(shù)據(jù)采集,處理,儲存三個部分。這里我們只討論數(shù)據(jù)采集部分。

      通過Headers:

      反爬蟲從用戶請求的Headers反爬蟲是最常見的反爬蟲策略,果遇到了這類反爬蟲機制,可以直接在爬蟲中添加Headers,將瀏覽器的User-Agent復制到爬蟲的Headers中;或者將Referer值修改為目標網站域名。

      基于用戶行為反爬蟲:

      同一IP短時間內多次訪問同一頁面,或者同一賬戶短時間內多次進行相同操作。[這種防爬,需要有足夠多的ip來應對],對于這種情況,使用IP代理就可以解決??梢詫iT寫一個爬蟲,爬取網上公開的代理ip,檢測后全部保存起來。

      動態(tài)頁面的反爬蟲:

      上述的幾種情況大多都是出現(xiàn)在靜態(tài)頁面,還有一部分網站,我們需要爬取的數(shù)據(jù)是通過ajax請求得到,。首先用Firebug或者HttpFox對網絡請求進行分析,如果能夠找到ajax請求,也能分析出具體的參數(shù)和響應的具體含義,我們就能采用上面的方法,直接利用requests或者urllib2模擬ajax請求,對響應的json進行分析得到需要的數(shù)據(jù)。

      以上就是小編所整理的關于爬蟲的知識,如果你想要了解到更多python知識,記住關注小編,或者去“蟻小二”平臺了解一二哦~

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多