Python 爬蟲入門

2021-02-15 GitChat精品課

隨著網絡技術的發展,數據變得越來越值錢,如何有效提取這些有效且公開的數據並利用這些信息變成了一個巨大的挑戰。從而爬蟲工程師、數據分析師、大數據工程師的崗位也越來越受歡迎。爬蟲是 Python 應用的領域之一。

有 Python 基礎對於學習 Python 爬蟲具有事半功倍的效果。就像學英語一樣,一個對英語一概不通的人聽完別人讀英語,自己也能讀出來,但要把英語讀好,學好音標非常有必要。

 一、Python 開發環境的搭建 

Python 目前流行 Python 2.x 與 Python 3.x 兩個版本,由於 Python 2 只會維護到 2020 年,因此這裡建議使用 python 3 來作為編程環境。

下載 Python:

默認安裝即可,如下圖所示。


二、什麼是爬蟲?

網絡爬蟲:是指按照一定的規則,自動抓取全球資訊網信息的程序或者腳本,從中獲取大量的信息。

爬蟲的作用主要有以下幾點:

市場分析:電商分析、商圈分析、一二級市場分析等;

市場監控:電商、新聞、房源監控、票房預測、股票分析等;

商機發現:招投標情報發現、客戶資料發掘、企業客戶發現等;

數據分析:對某個 App 的下載量跟蹤、用戶分析、評論分析,虛擬貨幣詳情分析……

三、爬蟲基礎知識補充

1. 網址的構成

網站的網址一般由協議+域名+加頁面構成,如 https://auction.jd.com/home.html,域名一般是固定不變的,能改變的則是頁面(home.html),所以在爬蟲的過程中我們所需要解析的就是自己編寫的不同頁面的 URL,只有解析出各個不同頁面的 URL 入口,我們才能開始爬蟲(爬取網頁)。

2. 網頁的基本構成

一般來說一個網頁的頁面主要有 HTML、CSS、JavaScript 構成,這裡我們可以打開任意一個網頁右擊查看網頁原始碼。

3. 常見的加載模式

學習爬蟲有必要了解網頁常見的兩種加載模式(後續爬蟲過程中,經常需要用到)。

4. 網頁的請求過程

打開瀏覽器,地址欄輸 baidu.com,按下回車,到用戶看到內容,主要經歷了如下步驟:

(1)開始進行域名解析

首先瀏覽器自身搜 DNS 緩存,搜 baidu.com 有沒有緩存有沒有過期,如果過期就結束,其次瀏覽器會搜索作業系統自身的 DNS 緩存並讀取本地的 host 文件,瀏覽器發起一個 DNS 系統調用。

(2)瀏覽器獲得 baidu.com 域名對應的 IP 地址後,發起 HTTP 三次握手


(3)建立 TCP/IP,瀏覽器就可以向伺服器發送 HTTP 請求

TCP/IP 連結建立起來後,瀏覽器就可以向伺服器發送 HTTP 請求。伺服器接收到請求之後就會對請求做相應的處理,並將結果返回給瀏覽器。

(4)瀏覽器拿到資源之後對頁面進行加載、解析、渲染,最後呈現給用戶


5.谷歌瀏覽器之 HTTP 請求分析

打開 Chrome 開發工具(這裡我們以打開百度網址為例),如下圖:

Elements(元素麵板):使用「元素」面板可以通過自由操縱 DOM 和 CSS 來重演您網站的布局和設計。

Console(控制臺面板):在開發期間,可以使用控制臺面板記錄診斷信息,或者使用它作為 shell,在頁面上與 JavaScript 交互。

Sources(原始碼面板):在原始碼面板中設置斷點來調試 JavaScript ,或者通過 Workspaces(工作區)連接本地文件來使用開發者工具的實時編輯器。

Network(網絡面板):從發起網頁頁面請求 Request 後得到的各個請求資源信息(包括狀態、資源類型、大小、所用時間等),並可以根據這個進行網絡性能優化。


四、豆瓣短評的數據爬取
Pycharm IDE 的安裝:

接下來我們首先需要安裝 Python 中常用開發軟體 Pycharm IDE,安裝只需要默認選擇即可。

(1)三方包的安裝。

第一種安裝庫模塊的方式為:打開 Pycharm IDE,選擇 file-Settings,如下圖所示:

這時我們選擇右方的"+"符號,如下圖所示:

由於接下來需要進行爬取豆瓣短評的數據,所以我們首先需要安裝一些三方包和模塊。安裝 openpyxl、lxml、requests、pandas 等,安裝這些庫模塊的時候,我們只需要在搜索框中搜索對應的庫模塊就可以,然後選擇左下方的 Install Package 即可,等待安裝完畢。

第二種安裝庫模塊的方式為:打開 cmd 命令行,輸入 pip install requests 命令,出現 Successfully installed,則表明該模塊安裝成功。


五、代碼編寫


爬取豆瓣短評需要用的知識點如下:

使用 Requests 爬取豆瓣短評;

使用 Xpath 解析豆瓣短評;

使用 pandas 保存豆瓣短評數據。

(1)Requests 庫詳解

Requests 是唯一的一個非轉基因的 Python HTTP 庫,人類可以安全享用,Requests 庫是 Python 爬蟲中的利器,使得我們爬蟲更加方便,快速,它可以節約我們大量的工作,完全滿足 HTTP 測試需求,所以我們安裝這個庫以爬取網頁中的數據。

使用 Requests 抓取網頁數據的一般步驟如下:

導入 Requests 庫;

輸入 URL;

使用 Get方法;

列印返回文本;

拋出異常。

(2)Xpath 解析

XPath 即為 XML 路徑語言(XML Path Language),它是一種用來確定 XML 文檔中某部分位置的語言,在開發中經常被開發者用來當作小型查詢語言,XPath 用於在 XML 文檔中通過元素和屬性進行導航。

使用 Xpath 解析網頁數據的一般步驟為:

獲取 Xpath 的方法直接從瀏覽器中複製即可:首先在瀏覽器上定位到需要爬取的數據,右鍵,點擊「檢查」,在「Elements」下找到定位到所需數據,右鍵 —> Copy —> Copy Xpath,即可完成 Xpath 的複製(事例如下圖)。

(3)pandas 講解

pandas 是數據分析工作變得更加簡單的高級數據結構和操作工具,主要使用 pandas 保存數據。


導入 pandas 代碼如下:

pandas 保存數據到 Excel,其步驟為:導入相關的庫;將爬取到的數據儲存為 DataFrame 對象;從 Excel 文件中讀取數據並保存。

事例代碼如下:

通過上述對三方包的安裝、Requests、Xpath 解析、pandas 保存數據介紹,接下來我們就正式開始對編寫豆瓣短評數據代碼編寫。

單頁豆瓣惡意圖書評論數據的爬取代碼,如下:


單頁數據的爬取 Pycharm IDE 圖片截圖,如下:


爬取結束之後,已經自動保存為 Excel 表格,分別是 comment.xlsx、comment2.xlsx。

單頁抓取效果如下圖:


多頁抓取效果如下圖:

以上關於 Python 爬蟲內容就講到這裡,如果想學習完整的 Python 爬蟲過程

識別二維碼

免費試讀

《Python 爬蟲和數據分析實戰》

想要學習 Python 和爬蟲的同學點擊 閱讀原文 即可~

相關焦點

  • 10個Python爬蟲入門實例
    來源:cnblogs.com/h3zh1/p/12548946.html昨天帶夥伴們學習python
  • 如何快速學會Python爬蟲(入門篇)
    一、爬蟲入門Python爬蟲入門一之綜述2.Python爬蟲入門二之爬蟲基礎了解3. Python爬蟲入門三之Urllib庫的基本使用4. Python爬蟲入門四之Urllib庫的高級用法5. Python爬蟲入門五之URLError異常處理6.
  • python爬蟲-- Scrapy入門
    前言轉行做python程式設計師已經有三個月了,這三個月用Scrapy爬蟲框架寫了兩百多個爬蟲,不能說精通了Scrapy,但是已經對Scrapy有了一定的熟悉
  • Python爬蟲入門教程:超級簡單的Python爬蟲教程
    這是一篇詳細介紹 Python 爬蟲入門的教程,從實戰出發,適合初學者。讀者只需在閱讀過程緊跟文章思路,理清相應的實現代碼,30 分鐘即可學會編寫簡單的 Python 爬蟲。關於爬蟲的合法性幾乎每一個網站都有一個名為 robots.txt 的文檔,當然也有部分網站沒有設定 robots.txt。對於沒有設定 robots.txt 的網站可以通過網絡爬蟲獲取沒有口令加密的數據,也就是該網站所有頁面數據都可以爬取。
  • 一個入門級python爬蟲教程詳解
    這篇文章主要介紹了一個入門級python爬蟲教程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑑價值,需要的朋友可以參考下
  • 從零開始的python爬蟲速成指南
    在前言:最近後臺有人留言問:有沒有python爬蟲的相關教程,爬蟲不是我專業方向,很多不是很熟悉,而網上很多資料講的過於散亂,不能很好的系統性學習爬蟲,而且水平參差不齊。特委託一位熟悉爬蟲的小夥伴,幫忙把關,將網上現有資料進行整合,整理了一份相對比較系統的資料。
  • python爬蟲入門實戰!爬取博客文章標題和連結!
    最近有小夥伴和我留言想學python爬蟲,那麼就搞起來吧。準備階段爬蟲有什麼用呢?舉個最簡單的小例子,你需要《戰狼2》的所有豆瓣影評。最先想的做法可能是打開瀏覽器,進入該網站,找到評論,一個一個複製到文本中,保存,翻頁,接著複製,直到翻到最後一頁。
  • Python開發簡單爬蟲【學習資料總結】
    開發爬蟲步驟 python語言基礎:(帶你熟悉python語言的特性,學會使用python開發環境,使用python開發一些簡單的案例) (1)Python3入門,數據類型,字符串 (2)判斷/循環語句,函數, (3)類與對象,繼承,多態 (4)tkinter界面編程 (5)文件與異常,數據處理簡介
  • 適合新手學習的Python爬蟲書籍
    Python編程 從入門到實踐本書是一本針對所有層次的Python讀者而作的Python入門書。,包括網絡爬蟲的工作原理、如何用urllib庫編寫網絡爬蟲、爬蟲的異常處理、正則表達式、爬蟲中Cookie的使用、爬蟲的瀏覽器偽裝技術、定向爬取技術、反爬蟲技術,以及如何自己動手編寫網絡爬蟲; 工具維度:以流行的Python網絡爬蟲框架Scrapy為對象,詳細講解了Scrapy的功能使用、高級技巧、架構設計、實現原理,以及如何通過Scrapy來更便捷、高效地編寫網絡爬蟲;實戰維度:以實戰為導向,是本書的主旨
  • Python爬蟲從入門到精通只需要三個月
    如何入門Python,為了能夠幫助大家更輕鬆的學好Python開發,Python爬數據,Python數據分析等相關理論知識,給大家共同分享自己一套Python學習生活資料,文章最後面的有附屬的相關資料,無論你是大牛還是小白,是想轉行還是想入行都可以來了解,一起不斷進步以及一起努力學習
  • 小白也能懂的python爬蟲入門案例
    此文屬於入門級級別的爬蟲,老司機們就不用看了。本次主要是爬取網易新聞,包括新聞標題、作者、來源、發布時間、新聞正文。首先我們打開163的網站,我們隨意選擇一個分類,這裡我選的分類是國內新聞。接下來只需要用到的python的兩個庫:requestsjsonBeautifulSouprequests庫就是用來進行網絡請求的,說白了就是模擬瀏覽器來獲取資源。由於我們採集的是api接口,它的格式為json,所以要用到json庫來解析。BeautifulSoup是用來解析html文檔的,可以很方便的幫我們獲取指定div的內容。
  • 進階版python獲取天氣信息——爬蟲入門
    python定時獲取天氣數據並自動發送到郵箱中,調用了其它網站的天氣接口來獲取天氣。瀏覽器基於這些問題,今天我們就來個進階版的獲取天氣信息方法——爬蟲獲取,同時該例子也是理解入門爬蟲的最好例子。1.爬蟲先來講講爬蟲是什麼?爬蟲,又叫網絡蜘蛛,是一個探測的機器。它模擬人的行為去各個網站溜達,看到有用的信息就想自己下載下來保存一份。簡答一句話就是在網頁上提取我們想要的信息。
  • 如何開始寫你的第一個python腳本——簡單爬蟲入門!
    好多朋友在入門python的時候都是以爬蟲入手,而網絡爬蟲是近幾年比較流行的概念,特別是在大數據分析熱門起來以後,學習網絡爬蟲的人越來越多,哦對,現在叫數據挖掘了!其實,一般的爬蟲具有2個功能:取數據和存數據!好像說了句廢話。。。
  • 1小時入門 Python 爬蟲
    從而爬蟲工程師、數據分析師、大數據工程師的崗位也越來越受歡迎。爬蟲是 Python 應用的領域之一。有 Python 基礎對於學習 Python 爬蟲具有事半功倍的效果。就像學英語一樣,一個對英語一概不通的人聽完別人讀英語,自己也能讀出來,但要把英語讀好,學好音標非常有必要。
  • 初學者如何用「python爬蟲」技術抓取網頁數據?
    而這裡的「技術手段」就是指網絡爬蟲。 今天,小編將與您分享一個爬蟲的基本知識和入門教程:什麼是爬蟲?網絡爬蟲,也叫作網絡數據採集,是指通過編程從Web伺服器請求數據(HTML表單),然後解析HTML以提取所需的數據。
  • Python新手爬蟲,簡單製作抓取廖雪峰的教程的小爬蟲
    Python 數據處理 Python編程從入門到實踐 核心編程基礎教程 網絡爬蟲入門書籍 python視頻編程從入門到精通 程序設計教材人民郵電¥72.2領3元券話不多說,先來看看整個爬蟲過程吧!目標:廖雪峰官網—python教程工具:pycharm、python3.6、requests庫、time庫、lxml庫思路:85 抓取所有的目錄章節 url85 找到 url內教程主體所在的 div
  • Python 從零開始--入門篇
    ,目的只有一個是大家一起能夠使用 python 寫自己的爬蟲,能夠達到公司要求的基本水平。why pthon為什麼是 python 呢,原因很簡單~嗯哼!就是很簡答相比於 C語言 的指針的混亂,和 Java 的繁瑣,python 更加適合作為非計算機專業的第一個入門的程式語言。
  • Python爬蟲從入門到精通(3): BeautifulSoup用法總結及多線程爬蟲爬取糗事百科
    本文是Python爬蟲從入門到精通系列的第3篇。我們將總結BeautifulSoup這個解析庫以及常用的find和select方法。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    因篇幅有限,以下展示的只是課程裡部分內容如對python課程有更多疑問 請諮詢客服 1零基礎入門全能班 01 –python簡介 02 第一個程序 03-python執行方式和pycharm設置 04-程序的注釋和算術運算符 05 程序執行原理 06變量的使用以及類型 07
  • Python爬蟲:一些常用的爬蟲技巧總結
    也差不多一年多了,python應用最多的場景還是web快速開發、爬蟲、自動化運維:寫過簡單網站、寫過自動發帖腳本、寫過收發郵件腳本、寫過簡單驗證碼識別腳本。爬蟲在開發過程中也有很多復用的過程,這裡總結一下,以後也能省些事情。