網絡爬蟲(一)

2021-02-15 數據科學與人工智慧
△ 是新朋友嗎?記得先點數據科學與人工智慧關注我哦~

《Python學習》專欄·第2篇

 | 段洵  

1099字 | 5 分鐘閱讀

【數據科學與人工智慧】已開通Python語言社群,學用Python,玩弄數據,求解問題,以創價值。喜樂入群者,請加微信號shushengya360掃描文末二維碼,添加為好友,同時附上Python-入群。有朋自遠方來,不亦樂乎,並誠邀入群,以達相互學習和進步之美好心願。
爬蟲是按照一定規則,自動地提取並保存網頁中信息的程序。通過向網站發起請求獲取資源,提取其中有用的信息。爬蟲在獲取信息、整理數據等方面應用廣泛。

• requests:HTTP請求庫

Python實現的一個簡單易用的HTTP庫,支持HTTP持久連接和連接池、SSL證書驗證、cookies處理、流式上傳等,向伺服器發起請求並獲取響應,完成訪問網頁的步驟,簡潔、容易理解,是最友好的網絡爬蟲庫。

http請求類型

requests.request():構造一個請求

requests.get():獲取HTML網頁

requests.head():獲取HTML網頁頭信息

requests.post():提交POST請求

requests.put():提交PUT請求

requests.patch():提交局部修改請求

requests.delete():提交刪除請求

requests.options():獲取http請求

返回的是一個response對象,response對象包含伺服器返回的所有信息,例如狀態碼、編碼形式、文本內容等;也包含請求的request信息 .status_code:HTTP請求的返回狀態 .text:HTTP響應內容的字符串形式 .content:HTTP響應內容的二進位形式 .encoding:(從HTTP header中)分析響應內容的編碼方式 .apparent_encoding:(從內容中)分析響應內容的編碼方式。

定製請求頭。requests的請求接口有一個名為headers的參數,向它傳遞一個字典來完成請求頭定製。設置代理。一些網站設置了同一IP訪問次數的限制,可以在發送請求時指定proxies參數來替換代理,解決這一問題。

• beautifulsoup4:HTML文檔分析庫

頁面解析器:使用requests庫下載了網頁並轉換成字符串後,需要一個解析器來處理HTML和XML,解析頁面格式,提取有用的信息。

解析器類型

搜索方法:find_all(name, attrs, recursive, string,**kwargs),返回文檔中符合條件的所有tag,是一個列表。find(name, attrs, recursive, string,**kwargs) ,相當於find_all()中limit = 1,返回一個結果。name:對標籤名稱的檢索字符串。attrs: 對標籤屬性值的檢索字符串。recursive: 是否對子節點全部檢索,默認為True。string: <>...</> 中檢索字符串。**kwargs:關鍵詞參數列表。

• lxml:頁面解析器

分析網頁結構

爬取頁面:通過requests庫向目標站點發送請求,若對方伺服器正常響應,能夠收到一個response對象,它包含了伺服器返回的所有信息。

解析頁面:HTML代碼-網頁解析器,此處使用bs4進行解析。

推薦閱讀:圖像處理

數據思踐公眾號記錄和分享數據人思考和踐行的內容與故事。

請掃下方二維碼加我為好友,備註Python-入群。有朋自遠方來,不亦樂乎,並誠邀入群,以達相互學習和進步之美好心願。

相關焦點

  • 精通 Python 網絡爬蟲:網絡爬蟲學習路線
    如何才能精通Python網絡爬蟲呢?學習Python網絡爬蟲的路線應該如何進行呢?在此為大家具體進行介紹。
  • 網絡爬蟲(一)基礎知識
    數據開始之前呢,先跟大家說一說數據。數據被稱為是21世紀的「石油」,數據的重要程度可見一斑。
  • Python網絡爬蟲實戰(一)快速入門
    本系列從零開始闡述如何編寫Python網絡爬蟲,以及網絡爬蟲中容易遇到的問題,比如具有反爬,加密的網站,還有爬蟲拿不到數據,以及登錄驗證等問題
  • 漫談Pyspider網絡爬蟲的實踐
    什麼是網絡爬蟲來一段靠譜的維基百科的權威解釋網絡蜘蛛(Web spider)也叫網絡爬蟲(Web crawler),螞蟻(ant),自動檢索工具(automatic indexer),或者(在FOAF軟體概念中)網絡疾走(WEB scutter),是一種「自動化瀏覽網絡」的程序,或者說是一種網絡機器人。
  • 網絡爬蟲違法?扯!繼續學習我的第一個爬蟲
    ,文章裡寫了因為一名技術人員因爬取數據被抓,那麼爬蟲真的違法嗎?今天我們來探索一下。1網絡爬蟲犯法嗎?網絡爬蟲的約束除了上述Robots協議之外,我們使用網絡爬蟲的時候還要對自己進行約束:過於快速或者頻密的網絡爬蟲都會對伺服器產生巨大的壓力,網站可能封鎖你的IP,甚至採取進一步的法律行動。因此,你需要約束自己的網絡爬蟲行為,將請求的速度限定在一個合理的範圍之內。
  • Xpath語法-網絡爬蟲基礎
    前言這一章節主要講解Xpath的基礎語法,學習如何通過Xpath獲取網頁中我們想要的內容;為我們的後面學習Java網絡爬蟲基礎準備工作。備註:此章節為基礎核心章節,未來會在網絡爬蟲的數據解析環節經常使用,學會Xpath解析語法,可為未來爬蟲解析省去很多麻煩。Xpath簡介XPath即為XML路徑語言,它是一種用來確定XML(標準通用標記語言的子集)文檔中某部分位置的語言。
  • 一小時入門 Python 3 網絡爬蟲
    作者:Jack-Cui,熱愛技術分享,活躍於 CSDN 和知乎,開設的《Python3網絡爬蟲入門》、《Python3機器學習》等專欄受到好評。 聲明:本文講解的實戰內容,均僅用於學習交流,請勿用於任何商業用途!
  • 程式設計師日常(四)網絡之爬蟲(一)
    譬如:淘寶網今日特價商品、百度的熱搜榜等爬蟲是個應用程式,自動提取網頁的程序通過數據篩選、過濾,得到有用的信息,一般是為搜尋引擎服務或者作為內容來源> Application+WebRequest+Filter+Data+Threads爬蟲是否違法?
  • 網絡爬蟲設計中需要注意的幾個問題
    「網絡爬蟲」又叫網絡蜘蛛,實際上就是一種自動化的網絡機器人,代替了人工來獲取網絡上的信息。許多公司的業務和戰略都需要很多數據進行多維度分析,這也使爬蟲越來越受大家青睞。爬蟲說起來是件簡單的事情。但是往往簡單的事情要做到極致就需要克服重重困難。
  • 用案例讓你一文搞懂python網絡爬蟲
    上次的文章是在討論移動端的數據獲取:點此查看本文對爬蟲做一個全面的總結,不一定包治百病,但是能治好大部分疾病,希望能夠對大家有所幫助:1、 urllib 庫:這是一個在爬蟲領域繞不開的庫,他支持 http 的爬取,幾乎可以取到方方面面的內容。
  • 【法學匯】網絡爬蟲的入罪標準與路徑研究
    網絡爬蟲(Web Crawler),又稱網絡蜘蛛或者網絡機器人,是一種按照一定規則自動抓取網際網路信息的程序。在大數據時代,網絡爬蟲已成為網際網路抓取公開數據的常用工具之一,可以實現對文本、圖片、音頻、視頻等網際網路信息的海量抓取。網絡爬蟲相關訴訟糾紛引發了學界在私法層面對大數據權益屬性、權益分配的諸多法律爭議,以及在公法層面對網絡爬蟲刑法規制路徑的諸多探討。
  • 寫網絡爬蟲程序的難度是怎麼分等級的
    寫網絡爬蟲程序的難度是怎麼分等級的 猿人學 發表於 2020-02-05 11:49:55 寫爬蟲,是一個非常考驗綜合實力的活兒。
  • Python新手學習網絡爬蟲要做什麼?
    爬蟲,被稱為網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者,是一種按照一定的規則,自動地抓取全球資訊網信息的程序或者腳本,主要用於搜尋引擎,它將一個網站的所有內容與連結進行閱讀,並建立相關的全文索引到資料庫中,然後跳到另一個網站。
  • 網絡爬蟲——Requests,GET和POST
    一、Requests庫簡介Requests模塊是發起http請求最常見的模塊。Requests自稱「http for Humans」,說明使用更簡潔方便。>(一)、爬蟲背後的法律風險我們都知道在爬取網上數據時,爬取個人信息是不合法的。
  • 用python寫網絡爬蟲的基本要點
    1、網絡爬蟲(在網絡的網站中通過python的程序模擬人工操作,下載到自己需要的資料)1、定義 :網絡蜘蛛、網絡機器人,抓取網絡數據的程序 2、總結 :用Python程序去模仿人去訪問網站,模仿得越像越好
  • 網絡爬蟲技術促大數據與CPI 調查融合發展
    今年以來,青島調查隊在居民消費價格調查中,創新應用網絡爬蟲技術開展網際網路大數據採集和應用,在實踐中顯現出良好效果。    網絡爬蟲技術在CPI調查中成效漸顯    青島調查隊積極探索、大膽嘗試,應用網絡爬蟲技術有力地推進了CPI調查。    採集房租網絡大數據評估房租價格指數。
  • 資料|精通 Python 網絡爬蟲:核心技術、框架與項目實戰
    from=leiphonecolumn_res0731為什麼寫這本書 · · · · · ·網絡爬蟲其實很早就出現了,最開始網絡爬蟲主要應用在各種搜尋引擎中。在搜尋引擎中,主要使用通用網絡爬蟲對網頁進行爬取及存儲。
  • 網絡爬蟲(二)進階知識
    前面我們對爬蟲有了一點了解,以及對數據和網絡也有了一丟丟認識。當然對於爬蟲還有非常多的東西,我們就不再單獨進行講解了。當我們在用到的過程中,再挑出來講一講。一、程式語言爬蟲並不是一門語言的獨門秘籍,Python、Java、PHP、C#、Go等語言都可以講出精彩的故事。
  • 【耿檢轉播】【法學匯】網絡爬蟲的入罪標準與路徑研究
    網絡爬蟲(Web Crawler),又稱網絡蜘蛛或者網絡機器人,是一種按照一定規則自動抓取網際網路信息的程序。在大數據時代,網絡爬蟲已成為網際網路抓取公開數據的常用工具之一,可以實現對文本、圖片、音頻、視頻等網際網路信息的海量抓取。網絡爬蟲相關訴訟糾紛引發了學界在私法層面對大數據權益屬性、權益分配的諸多法律爭議,以及在公法層面對網絡爬蟲刑法規制路徑的諸多探討。
  • R語言網絡爬蟲經驗
    作者:黃天元,復旦大學博士在讀,目前研究涉及文本挖掘、社交網絡分析和機器學習等。