Python新手爬蟲,簡單製作抓取廖雪峰的教程的小爬蟲

2020-12-14 雲飛學編程

先看幾張對比圖,分別是官網截圖和抓取下來的 txt文檔的截圖,不算那難看的排版的話,內容是一致的,圖片用 url替換了!

在整個抓取過程中,除了普通的文本以外,還需要處理 3個地方,分別是:代碼、圖片、視頻,因為目前只寫到了文本文件,所以直接抓到圖片或者視頻的地址,標識清楚後寫入到 txt,這裡可以在進一步,寫到 word/pdf 或者其他文件,留待以後改進!

Python 數據處理 Python編程從入門到實踐 核心編程基礎教程 網絡爬蟲入門書籍 python視頻編程從入門到精通 程序設計教材人民郵電

¥72.2

領3元券

話不多說,先來看看整個爬蟲過程吧!目標:廖雪峰官網—python教程

工具:pycharm、python3.6、requests庫、time庫、lxml庫

思路:

85 抓取所有的目錄章節 url

85 找到 url內教程主體所在的 div

85 遍歷 div下所有標籤,文本和代碼部分內容直接保存

85 區分其中的代碼、圖片、視頻 3個內容,分別以文本、url的形式保存並做好標識

85 加入時間計數,統計總用時

大致如上,我們先來抓取所有的章節 url,這裡我們用 xpath 來匹配 div,然後循環 div下的所有 a標籤的文本和 href屬性,這兩個部分為章節的名字和 url,當然 url部分需要拼接,加入域名就可以了!

Header和主頁信息,請自行添加哦!

取到章節信息後,還需要判斷是否存在子章節,存在則需要繼續取,觀察網頁後發現子章節所在標籤為 a標籤的平級 div標籤,用 if判斷就可以,網頁結構如下:

代碼我們這樣寫

其中 get_summary()函數是我自定義的下載函數,代碼如下

傳入 3個參數:url是開始我們抓到的章節或者子章節的 url,name為章節名,title為子章節名,默認為空,這樣做是為了在寫入文件時進行判斷,大家自行查看就可以 ,注意的是前面說到的 3個地方,文章中的代碼部分是在<pre>標籤下,和<p>標籤一樣取出內容即可,圖片和視頻所在的標籤分別做判斷,存在則將 url寫入文本!

最終運行程序結果

在 txt下,不要選擇自動換行,否則,代碼部分就不好看了!整個爬虫部分很簡單,複雜的部分是處理各種標籤及標籤下的其他內容,最後寫入文件因為不需要排版,反而簡單了。

歡迎大家來找我一起交流,完善代碼!

相關焦點

  • 福利 | 廖雪峰官方Python教程,拿走不謝!
    >對於我來說學習python有什麼用?」鑑於此,Python教父-廖雪峰 老師團隊官方出了一版爬蟲課程,幫你成為IT江湖中的Python爬蟲高手!另外文末可領取廖雪峰老師的Python教程(前100名免費贈送)。
  • Python爬蟲入門教程:超級簡單的Python爬蟲教程
    這是一篇詳細介紹 Python 爬蟲入門的教程,從實戰出發,適合初學者。讀者只需在閱讀過程緊跟文章思路,理清相應的實現代碼,30 分鐘即可學會編寫簡單的 Python 爬蟲。這篇 Python 爬蟲教程主要講解以下
  • 廖雪峰老師的Python商業爬蟲課程 Python網絡爬蟲實戰教程 體會不一樣的Python爬蟲課程
    :1個├─(50) 20181209.zip(30)\資料\3\第五節;目錄中文件數:1個├─(51) python二期12.16.zip(31)\資料\3\第八節;目錄中文件數:1個├─(52) python二期12.20.zip(32)\資料\3\第六節;目錄中文件數:1個├─(53) python二期12.19.zip(33)\資料
  • 在知乎上學 Python - 爬蟲篇
    之前,為了讓大家能更好地挖掘知乎上有價值的信息,我們做了一個索引,把編程入門相關的一些問答和文章做了整理:在知乎上學 Python - 入門篇文中曾立下FLAG說之後會整理爬蟲、數據分析、機器學習等方面的索引,然而卻一拖再拖。好在現在,有同學幫我們做了後續整理,今天就把「爬蟲篇」分享給大家。
  • python爬蟲入門實戰!爬取博客文章標題和連結!
    最近有小夥伴和我留言想學python爬蟲,那麼就搞起來吧。準備階段爬蟲有什麼用呢?舉個最簡單的小例子,你需要《戰狼2》的所有豆瓣影評。最先想的做法可能是打開瀏覽器,進入該網站,找到評論,一個一個複製到文本中,保存,翻頁,接著複製,直到翻到最後一頁。
  • 初學者如何用「python爬蟲」技術抓取網頁數據?
    而這裡的「技術手段」就是指網絡爬蟲。 今天,小編將與您分享一個爬蟲的基本知識和入門教程:什麼是爬蟲?網絡爬蟲,也叫作網絡數據採集,是指通過編程從Web伺服器請求數據(HTML表單),然後解析HTML以提取所需的數據。
  • Python爬蟲免費學習教程推薦
    2、《用Python實現爬取網頁》適合人群:零基礎想要學習Python開發的學習者推薦理由:該門Python爬蟲課程主要講述利用Python語言實現網絡爬蟲的技巧,主要內容包括網絡爬蟲簡介和scrapy製作小爬蟲兩大章節,相信大家通過學習教程一定會受益匪淺。
  • Python:爬蟲系列筆記(1) -- 綜述
    轉自:靜覓 » Python爬蟲入門一之綜述大家好哈,最近博主在學習Python,學習期間也遇到一些問題,獲得了一些經驗,在此將自己的學習系統地整理下來,如果大家有興趣學習爬蟲的話,可以將這些文章作為參考,也歡迎大家一共分享學習經驗。
  • Python新手都可以做的爬蟲,抓取網上 OJ 題庫信息
    最近有朋友在做 OJ 題庫,順手做個小爬蟲,導出一份題庫列表來看看!目標:浙江大學題庫工具:python3.6,requests 庫、lxml 庫、pycharm思路:先找到網頁中題庫所在的位置然後我們點擊第一頁和後面幾頁,看看 url 的變化發現規律了嗎?
  • 如何快速學會Python爬蟲(入門篇)
    Python爬蟲實戰六之抓取愛問知識人問題並保存至資料庫7. Python爬蟲實戰七之計算大學本學期績點8. Python爬蟲實戰八之利用Selenium抓取淘寶匿名旺旺三、爬蟲利器1.Python爬蟲進階四之PySpider的用法第二(第一的姊妹篇):Python爬蟲入門教程Python版本:2.7教程目錄:[Python]網絡爬蟲(一):抓取網頁的含義和
  • 從零開始的python爬蟲速成指南
    在前言:最近後臺有人留言問:有沒有python爬蟲的相關教程,爬蟲不是我專業方向,很多不是很熟悉,而網上很多資料講的過於散亂,不能很好的系統性學習爬蟲,而且水平參差不齊。特委託一位熟悉爬蟲的小夥伴,幫忙把關,將網上現有資料進行整合,整理了一份相對比較系統的資料。
  • Python新手學習網絡爬蟲要做什麼?
    爬蟲,被稱為網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者,是一種按照一定的規則,自動地抓取全球資訊網信息的程序或者腳本,主要用於搜尋引擎,它將一個網站的所有內容與連結進行閱讀,並建立相關的全文索引到資料庫中,然後跳到另一個網站。
  • 適合新手學習的Python爬蟲書籍
    教程」關注我們喲!全書分兩部分:首部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語句、類、文件與異常、代碼測試等內容;第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D遊戲開發,如何利用數據生成交互式的信息圖,以及創建和定製簡單的Web應用,並幫讀者解決常見編程問題和困惑。
  • python爬蟲-- Scrapy入門
    前言轉行做python程式設計師已經有三個月了,這三個月用Scrapy爬蟲框架寫了兩百多個爬蟲,不能說精通了Scrapy,但是已經對Scrapy有了一定的熟悉
  • Python爬蟲的兩套解析方法和四種爬蟲實現
    對於大多數朋友而言,爬蟲絕對是學習python的最好的起手和入門方式。
  • 一個入門級python爬蟲教程詳解
    這篇文章主要介紹了一個入門級python爬蟲教程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑑價值,需要的朋友可以參考下
  • Python開發簡單爬蟲【學習資料總結】
    一、簡單爬蟲架構 簡單爬蟲架構 二、URL管理器和實現方法 防止重複抓取、防止循環抓取
  • Python之爬蟲框架概述
    框架概述博主接觸了幾個爬蟲框架,其中比較好用的是 Scrapy 和PySpider。就個人而言,pyspider上手更簡單,操作更加簡便,因為它增加了 WEB 界面,寫爬蟲迅速,集成了phantomjs,可以用來抓取js渲染的頁面。Scrapy自定義程度高,比 PySpider更底層一些,適合學習研究,需要學習的相關知識多,不過自己拿來研究分布式和多線程等等是非常合適的。
  • 福利 | 你有一份廖雪峰Python人工智慧教程,請查收!
    很多人肯定會問,那Python語言學習這麼火爆,該怎麼入門學習python呢?>說到 Python 學習,首推 Python 教父廖雪峰 的教程!鑑於此,Python教父-廖雪峰 老師官方團隊耗時半年精心打造出了一版爬蟲課程,幫你成為IT江湖中的Python爬蟲高手!
  • Python爬蟲學到什麼程度就可以去找工作了?
    有朋友在群裡和大家討論,問的最多的問題就是,python 爬蟲學到什麼程度可以去找工作了,關於這點,和大家分享下我的理解。去招聘網上看看需求都有哪些,直接做個拉勾網爬蟲(有需要的私信)出結果了:仔細看看,我們可以得出以下幾點:1、 python 不是唯一可以做爬蟲的,很多語言都可以,