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

2021-01-09 雲飛學編程

先看幾張對比圖,分別是官網截圖和抓取下來的 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爬蟲,那麼就搞起來吧。準備階段爬蟲有什麼用呢?舉個最簡單的小例子,你需要《戰狼2》的所有豆瓣影評。最先想的做法可能是打開瀏覽器,進入該網站,找到評論,一個一個複製到文本中,保存,翻頁,接著複製,直到翻到最後一頁。
  • 初學者如何用「python爬蟲」技術抓取網頁數據?
    而這裡的「技術手段」就是指網絡爬蟲。 今天,小編將與您分享一個爬蟲的基本知識和入門教程:什麼是爬蟲?網絡爬蟲,也叫作網絡數據採集,是指通過編程從Web伺服器請求數據(HTML表單),然後解析HTML以提取所需的數據。
  • python爬蟲-urllib、urllib2、requests三者關係
    抓取始終是一個很大的需求,小到單個頁面,某個站點,大到搜尋引擎(百度、谷歌)的全網抓取。只要人能看到的東西,理論上都是爬蟲可以獲取的。不論靜態頁面還是動態頁面。也不論pc端的頁面還是移動端的app。話有點大,但這就是本系列的目的。
  • 如何快速學會Python爬蟲(入門篇)
    Python爬蟲實戰六之抓取愛問知識人問題並保存至資料庫7. Python爬蟲實戰七之計算大學本學期績點8. Python爬蟲實戰八之利用Selenium抓取淘寶匿名旺旺三、爬蟲利器1.Python爬蟲進階四之PySpider的用法第二(第一的姊妹篇):Python爬蟲入門教程Python版本:2.7教程目錄:[Python]網絡爬蟲(一):抓取網頁的含義和
  • Python開發簡單爬蟲【學習資料總結】
    一、簡單爬蟲架構 簡單爬蟲架構 二、URL管理器和實現方法 防止重複抓取、防止循環抓取
  • Python爬蟲學到什麼程度就可以去找工作了?
    有朋友在群裡和大家討論,問的最多的問題就是,python 爬蟲學到什麼程度可以去找工作了,關於這點,和大家分享下我的理解。去招聘網上看看需求都有哪些,直接做個拉勾網爬蟲(有需要的私信)出結果了:仔細看看,我們可以得出以下幾點:1、 python 不是唯一可以做爬蟲的,很多語言都可以,
  • Python爬蟲實戰教程——爬取xkcd漫畫
    0 前言Python版本:3.7.0開發工具:IDLE(Python 3.7 64-bit)、Google Chrome1 網絡爬蟲(web crawler)?網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人),是一種按照一定的規則,自動地抓取網絡信息的程序或者腳本。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    python教程大合集,包含python所有就業方向,每套課程均來自市面上主流培訓機構的原版教程,價值都在數百元以上 每套課程均包含:視頻課程+課件+原始碼 重要:建議根據自己工作方向和需求,重點選擇2到3套課程學精,吃透,然後在工作 重要:零基礎小白建議先選擇零基礎全能篇的一套課程學精,然後再根據自 己的需求和規劃選擇學習其他方向課程,學完後一定要多實踐
  • python開發爬蟲有門檻嗎?
    如果你不是科班出身,沒有開發經驗,初次接觸開發爬蟲這檔子事兒,相信這篇文章能幫到你。python開發爬蟲肯定是有門檻的。儘管python很簡單,上手不難,但是開發起來你會發現,開發爬蟲不只是單單會python就可以了,你還得需要下列這些技能。
  • Python,爬蟲開發的不二選擇
    如果我們把網際網路比作一張大的蜘蛛網,數據便是存放於蜘蛛網的各個節點,而爬蟲就是一隻小蜘蛛,沿著網絡抓取自己的獵物(數據)。爬蟲指的是:向網站發起請求,獲取資源後分析並提取有用數據的程序。如今,人類社會已經進入了大數據時代,如何高效的獲取數據,已經成了各個網際網路公司的技術研發重點,掌握爬蟲技術已經成為了大數據公司技術人員不可或缺的一項技能。
  • 如何開始寫你的第一個python腳本——簡單爬蟲入門!
    好多朋友在入門python的時候都是以爬蟲入手,而網絡爬蟲是近幾年比較流行的概念,特別是在大數據分析熱門起來以後,學習網絡爬蟲的人越來越多,哦對,現在叫數據挖掘了!其實,一般的爬蟲具有2個功能:取數據和存數據!好像說了句廢話。。。
  • 從零開始寫Python爬蟲,四大工具你值得擁有!
    如果你正在學習編程,那麼「爬蟲」絕對是你不可忽視的。那麼,學習python爬蟲之前需要哪些準備?一顆熱愛學習,不屈不撓的心一臺有鍵盤的電腦(什麼系統都行。我用的os x,所以例子會以這個為準)html相關的一些知識。
  • 開課吧Python:Python爬蟲是什麼?爬蟲工程師薪資怎麼樣?
    Python爬蟲是由Python程序開發的網絡爬蟲(webspider,webrobot),是按照一定規則自動抓取全球資訊網信息的程序或腳本。其實一般是通過程序在網頁上獲取你想要的數據,也就是自動抓取數據。為什麼需要用爬蟲?
  • Python爬蟲是什麼意思有啥用 python爬蟲原理實例介紹
    據華為中國官方消息,今日,華為中國發文《小白看過來,讓Python爬蟲成為你的好幫手》,文中詳細介紹了Python爬蟲的工作原理,我們來看一下吧。  以下為《小白看過來,讓Python爬蟲成為你的好幫手》全文:  隨著信息化社會的到來,人們對網絡爬蟲這個詞已經不再陌生。
  • python為什麼叫爬蟲?為啥那麼多人通過python兼職都能掙不少錢?
    Python能做什麼之前有很多文章介紹python能做什麼。今天介紹python爬蟲的學習。網絡爬蟲 網絡爬蟲,也叫網絡蜘蛛(Web Spider)。爬蟲是在某個URL頁面入手,抓取到這個頁面的內容,從當前的頁面中找到其他的連結地址,然後從這地址再次爬到下一個網站頁面,這樣一直不停的抓取到有用的信息,所以可以說網絡爬蟲是不停的抓取獲得頁面上想要的信息的程序。還不懂?
  • 雲立方網科普:常用高效的Python爬蟲框架有哪些?
    Python是現在非常流行的程式語言,而爬蟲則是Python語言中最典型的應用,下面是總結的高效Python爬蟲框架,大家看看是否都用過呢。 Pyspider 是一個用python實現的功能強大的網絡爬蟲系統,能在瀏覽器界面上進行腳本的編寫,功能的調度和爬取結果的實時查看,後端使用常用的資料庫進行爬取結果的存儲,還能定時設置任務與任務優先級等。
  • Python爬蟲和反爬蟲的鬥爭
    在抓取對方網站、APP 應用的相關數據時,經常會遇到一系列的方法阻止爬蟲。網站APP們這麼做的原因,一是為了保證服務的質量,降低伺服器負載,二是為了保護數據不被獲取。爬蟲與反爬蟲的鬥爭經久不衰,這裡神龍IP給大家分享一些常見的反爬蟲手段。
  • 簡單講解價值1K的Python爬蟲外包案例
    相關模塊的使用 常規爬取數據 多線程爬取數據 scrapy框架爬取數據 目標網頁分析 爬取python
  • 網絡爬蟲作用有哪些?如何構建網絡爬蟲?
    而網絡爬蟲則是數據採集的主要方法。下面具體為大家介紹網絡爬蟲作用有哪些?如何構建網絡爬蟲?什麼是網絡爬蟲?網絡爬蟲是一種網際網路機器人,它通過爬取網際網路上網站的內容來工作。它是用計算機語言編寫的程序或腳本,用於自動從Internet上獲取任何信息或數據。機器人掃描並抓取每個所需頁面上的某些信息,直到處理完所有能正常打開的頁面。
  • 「Python爬蟲與文本實例技術與應用」培訓班通知
    通過爬蟲獲取的海量信息,我們可以對其進行進一步的分析:市場預測、文本分析、機器學習方法等。     Python作為一門腳本語言,它靈活、易用、易學、適用場景多,實現程序快捷便利,早已經成為程式設計師們的一門編程利器。Python這門程式語言包羅萬象,可以說掌握了python,除了一些特殊環境和高度的性能要求,你可以用它做任何事。