python爬蟲入門實戰!爬取博客文章標題和連結!

2020-12-03 白玉無冰

最近有小夥伴和我留言想學python爬蟲,那麼就搞起來吧。

準備階段

爬蟲有什麼用呢?舉個最簡單的小例子,你需要《戰狼2》的所有豆瓣影評。最先想的做法可能是打開瀏覽器,進入該網站,找到評論,一個一個複製到文本中,保存,翻頁,接著複製,直到翻到最後一頁。而爬蟲只要寫腳本,執行,泡杯咖啡,坐等他執行完。

首先需要在電腦上裝好 python3 和 pip 。此外還需要知道python的一些基本語法。這些內容網上搜索有許多教程(例如廖雪峰),這邊就不再細說了。

我們這次需要使用的是 正則表達式 re 庫和第三方的 requests 庫,以下是安裝方法。

pip3 install requests

引入庫。

importrequestsimportre

爬蟲可以簡單地分為獲取數據,分析數據,存儲數據三個步驟。

下載數據

簡單來說一個網頁是由一個html文件解析構成,我們需要獲取這個文本內容。

每個瀏覽器都可以通過開發者工具獲取到文本內容,以chrome為例,打開網頁後,右鍵->檢查。

右邊的 Elements 就是我們要下載的數據。

讓我們看看 requests 是如何獲取這個數據的。

上面的 html_str 就是我們需要的源數據。獲取數據我們需要一個網頁地址,獲取後判斷狀態碼是否為200,最後再將內容decode就得到需要的整個html源數據。

分析數據

這次我們用正則表達式去解析源數據,截取到我們需要。關於詳細的正則知識可以在這裡中學習。

現在我們的目標是抓取博客的文章標題和連結,我們可以通過剛才的開發者工具獲取文章標題和連結的特徵。

可以看到我們要的內容都具有以下這種格式。

我們就為這種格式寫出正則表達式。(ps: 我也寫了幾次才寫對,看不懂的話我們私下交流交流)

使用正則表達式中的 findall 把所有內容找出來,並保存在字符串中。

但是,我們只爬了其中的一頁。還有許多頁沒有爬呢!(ps: 驕傲臉,我已經寫了好多頁的原創內容了。)

我們可以點幾個下一頁,很容易發現其中的規律。

第一頁 : 網頁第二頁: 網頁/page2/第三頁: 網頁/page3/...為此,我們加個循環判斷就可以啦。

在判斷狀態碼不為200時,退出循環。

存儲數據

這次我們就用文本存儲來結束我們的教程吧。(ps:資料庫存儲我也還沒學到,哈哈哈呃。)

withopen('lamyoung_title_out.txt','w',encoding='utf-8')asf:f.write(write_content)

最後看下輸出結果吧~

小結

本文只是簡單地帶你入門寫個python爬蟲(其實也不簡單哈,正則表達式還是要花時間學學)。其實爬蟲還涉及多線程,資料庫,還有其他解析庫(可能可以替代正則表達式)。後續學到了第一時間分享(也許)給大家。

「其實我還寫過python處理excel表導出json,自動處理svn添加刪除等腳本,歡迎一起學習」

我是白玉無冰,遊戲開發技術小赤佬,也玩 python 和 shell。歡迎私信交流學習!

相關焦點

  • 如何快速學會Python爬蟲(入門篇)
    Python爬蟲入門二之爬蟲基礎了解3. Python爬蟲入門三之Urllib庫的基本使用4. Python爬蟲入門四之Urllib庫的高級用法5. Python爬蟲入門五之URLError異常處理6.
  • Python爬蟲實戰教程——爬取xkcd漫畫
    網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人),是一種按照一定的規則,自動地抓取網絡信息的程序或者腳本。</p> <div> <img src="https://img.baidu.com/1.jpg" alt="1.jpg" title="這是圖片"> <a href="https://linjianming.com/">這是連結
  • Python開發簡單爬蟲【學習資料總結】
    URL是否在容器中 判斷是否還有帶待爬取URL 獲取待爬取URL 將URL從待爬取移動到已爬取 實現方式
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    20爬蟲scrapy框架及案例 21數據分析 22機器學習 23深度學習 24數據結構和算法 25python網絡爬蟲 26機器學習入門篇 27機器學習入門篇2 28機器學習提升篇 29數據挖掘篇 30深度學習必備原理與實戰 31深度學習必備原理與實戰
  • 初學者如何用「python爬蟲」技術抓取網頁數據?
    而這裡的「技術手段」就是指網絡爬蟲。 今天,小編將與您分享一個爬蟲的基本知識和入門教程:什麼是爬蟲?網絡爬蟲,也叫作網絡數據採集,是指通過編程從Web伺服器請求數據(HTML表單),然後解析HTML以提取所需的數據。
  • python為什麼叫爬蟲?為啥那麼多人通過python兼職都能掙不少錢?
    Python能做什麼之前有很多文章介紹python能做什麼。今天介紹python爬蟲的學習。網絡爬蟲 網絡爬蟲,也叫網絡蜘蛛(Web Spider)。爬蟲是根據網頁地址(URL)爬取網頁上的內容,這裡說的網頁地址(URL)就是我們在瀏覽器中輸入的網站連結。例如:https://www.baidu.com/,這就是一個URL。
  • 使用Scrapy網絡爬蟲框架小試牛刀
    說人話就是只要是搞爬蟲的,用這個就van事了,因為裡面集成了一些很棒的工具,並且爬取性能很高,預留有很多鉤子方便擴展,實在是居家爬蟲的不二之選。協議,默認只有搜尋引擎網站才會允許爬取,例如百度,必應等,個人爬取需要忽略這個,否則爬取不了USER_AGENT配置User-Agent是一個最基本的請求必須帶的參數,如果這個帶的不是正常的,必定爬取不了。
  • 如何開始寫你的第一個python腳本——簡單爬蟲入門!
    好多朋友在入門python的時候都是以爬蟲入手,而網絡爬蟲是近幾年比較流行的概念,特別是在大數據分析熱門起來以後,學習網絡爬蟲的人越來越多,哦對,現在叫數據挖掘了!其實,一般的爬蟲具有2個功能:取數據和存數據!好像說了句廢話。。。
  • 「Python爬蟲與文本實例技術與應用」培訓班通知
    通過爬蟲獲取的海量信息,我們可以對其進行進一步的分析:市場預測、文本分析、機器學習方法等。     Python作為一門腳本語言,它靈活、易用、易學、適用場景多,實現程序快捷便利,早已經成為程式設計師們的一門編程利器。Python這門程式語言包羅萬象,可以說掌握了python,除了一些特殊環境和高度的性能要求,你可以用它做任何事。
  • Python爬蟲從入門到精通只需要三個月
    如何入門Python,為了能夠幫助大家更輕鬆的學好Python開發,Python爬數據,Python數據分析等相關理論知識,給大家共同分享自己一套Python學習生活資料,文章最後面的有附屬的相關資料,無論你是大牛還是小白,是想轉行還是想入行都可以來了解,一起不斷進步以及一起努力學習
  • 簡單講解價值1K的Python爬蟲外包案例
    對於這個外包給予的網站信息,那麼我們就爬取選擇第一個吧獵聘網>,也就簡單實現,並不會進行打包處理,以及輸入關鍵字爬取,因為打包以及輸入關鍵詞爬取數據
  • Python,爬蟲開發的不二選擇
    python-goose – HTML內容/文章提取器。lassie – 人性化的網頁內容檢索工具了解了以上的知識點以後,我們獲取網絡數據的方式有哪些呢?是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。
  • 第7天|10天搞定Python網絡爬蟲,Scrapy爬更快
    爬蟲(Spider):爬蟲,是用戶最關心的部分。用戶定製自己的爬蟲(通過定製正則表達式等語法),用於從特定的網頁中提取自己需要的信息,即所謂的實體(Item)。 用戶也可以從中提取出連結,讓Scrapy繼續抓取下一個頁面。
  • Python新手爬蟲,簡單製作抓取廖雪峰的教程的小爬蟲
    Python 數據處理 Python編程從入門到實踐 核心編程基礎教程 網絡爬蟲入門書籍 python視頻編程從入門到精通 程序設計教材人民郵電¥72.2領3元券話不多說,先來看看整個爬蟲過程吧!目標:廖雪峰官網&mdash;python教程工具:pycharm、python3.6、requests庫、time庫、lxml庫思路:85 抓取所有的目錄章節 url85 找到 url內教程主體所在的 div85 遍歷 div下所有標籤,文本和代碼部分內容直接保存85 區分其中的代碼、圖片、視頻 3個內容,
  • 最全的 Python 反爬蟲及應對方案!
    爬蟲是 Python 的一個常見應用場景,很多練習項目就是讓大家去爬某某網站。爬取網頁的時候,你大概率會碰到一些反爬措施。這種情況下,你該如何應對呢?本文梳理了常見的反爬措施和應對方案。 1.反爬方式:創建無限深度的目錄結構HTTP://example.com/bar/foo/bar/foo/bar/foo/bar /動態頁面,為網絡爬蟲生成無限數量的文檔。如由算法生成雜亂的文章頁面。文檔中填充了大量字符,使解析文檔的詞法分析器崩潰。
  • 網絡爬蟲作用有哪些?如何構建網絡爬蟲?
    網絡爬蟲大致有4種類型的結構:通用網絡爬蟲、聚焦網絡爬蟲、增量式網絡爬蟲、深層網絡爬蟲 。1、通用Web爬蟲通用網絡爬蟲所爬取的目標數據是巨大的,並且爬行的範圍也是非常大的,正是由於其爬取的數據是海量數據,故而對於這類爬蟲來說,其爬取的性能要求是非常高的。這種網絡爬蟲主要應用於大型搜尋引擎中,有非常高的應用價值。 或者應用於大型數據提供商。
  • Python爬蟲的名詞有什麼意義?
    在上一篇文章當中學記給大家展示了 Scrapy 爬蟲框架在爬取之前的框架文件該如何設置。在上一篇文章當中,是直接以代碼的形式進行描述的,在這篇文章當中學記會解釋一下上一篇文章當中爬蟲代碼當中的一些名詞的用法。
  • 程式設計師如何煉成 Python 爬蟲「王者」?
    作者 | 周蘿蔔責編 | 郭芮本文章精選了五個爬蟲實例,希望能夠給想要入門 Python 爬蟲的小夥伴兒們一些幫助。>details_collection = job_db.job_details微博爬取這裡的微博爬蟲,我主要實現的是輸入你關心的某個大 V 的微博名稱,以及某條微博的相關內容片段,即可自動爬取相關該大 V 一段時間內發布的微博信息和對應微博的評論信息。
  • 雲立方網科普:常用高效的Python爬蟲框架有哪些?
    Python是現在非常流行的程式語言,而爬蟲則是Python語言中最典型的應用,下面是總結的高效Python爬蟲框架,大家看看是否都用過呢。 Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架,可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中
  • 用Python進行Web爬取數據
    目錄3個流行的工具和庫,用於Python中的Web爬蟲Web爬網的組件 Crawl Parse and Transform Store從網頁中爬取URL和電子郵件ID爬取圖片在頁面加載時抓取數據3個流行的工具和庫,用於Python中的Web爬蟲你將在Python中遇到多個用於Web抓取的庫和框架。