你是如何開始能寫python爬蟲?

好問題,這個問題不禁讓我回憶起我學爬蟲的路。

2014年底,我在學校參與到一個項目,是用數據來預測新店鋪的選址,這裏就不免需要購物中心的數據。當時沒有同學會爬蟲獲取數據,於是有些同學開始手動複製粘貼,我並不想做這種機械性的工作。於是,我上網搜到了爬蟲這個概念,在我僅僅會vba和c的情況下,開始自學python,裝library,上網搜教程,各種折騰了一個星期後,終於從網上爬下來需要的數據。

那種痛哭流涕的感覺,這是我爬蟲之路上最刻苦銘心的記憶。

之後,參與到更多的項目中,各個項目都需要爬蟲獲取數據,例如消費者評論的情感分析,需要電商的評論;分析全國各個小區所居住人的社會階層,需要樓價數據;分析各個城市餐廳的消費情況,需要餐廳數據,等等。

慢慢的,我入坑了。首先我只是會使用 requests 獲取網頁,使用 Beautifulsoup 把網頁中的內容提取出來,再使用簡單的一行代碼存入記事本中。

這些濃縮在我前幾周寫的這篇文章:5分鐘入門網絡爬蟲 - 原來可以這麼簡單易懂

5分鐘入門爬蟲,呵呵,這可是我1個月各種搜資料求大神學習的濃縮:學習一個東西一定要一個好老師,你走偏了路,1個月的努力也許別人只需學5分鐘。

慢慢的,發現我使用 requests 獲取到的是亂碼,是該網頁無法顯示的時候,我開始攻克這個難關。我發現了網站也會反爬蟲,我開始網上搜各種資料:修改代理,修改請求頭,修改爬蟲間隔時間等等。

慢慢的,我發現光是用 Beautifulsoup 解析不了某些動態網頁,因爲網頁源代碼裏面根本沒有我要的數據。我開始攻克這個難關,我瞭解到現在大部分網頁使用的 JavaScript 動態提取數據,我開始學會了如何找到網頁的真實地址,我也知道了使用 selenium 模擬瀏覽器的點擊。

慢慢的,我發現爬下來的數據越來越大,把數據存入 txt 或者 csv 格式不夠方便,我開始學習數據庫。憑着自己 sql 的一點點基礎,開始自己下載 mysql,學習如何把 Python 和 mysql 對接,把數據存到 sql 數據庫裏。之後又發現 nonsql 對於網頁裏的數據能更方便的儲存,我又開始自學 Mongodb,下載安裝,對接儲存。

慢慢的,我發現之前針對反爬蟲的招數都變成了廢物的時候,我又開始找朋友,問大神,瞭解到動態 IP 這種方法,又知道了 Tor 這個神器。但是,他們只告訴我有這個方法,我又一點一滴地在網上搜資料,中文的資料很少,我就去 google 上搜英文的,跟着網上的教程,bug 不斷出現,然後又一個個 bug 去解決,我終於知道了 如何使用動態 IP 和Tor,解決了 IP 的問題。

慢慢的,我發現我爬蟲的速度太慢,達不到時間的要求,我開始瞭解到多進程爬蟲,瞭解到分佈式爬蟲,我又開始學。。。

前幾天看了李書福的一句話,我覺得很有道理:“造汽車沒什麼神祕的,無非就是四個輪子加一個方向盤再加一個發動機。”,爬蟲對於造個汽車來說,更簡單,無非就是三步:獲取網頁,提取數據,儲存數據。

沒什麼不可能的,你需要的是即刻開始。

也許努力的人會多一點運氣,機械工業出版社的編輯主動找到了我,要我寫一本《Python 網絡爬蟲》,我很珍惜這個機會,也希望把自己一路上學到的,遇到的都濃縮到這本書裏。我希望這本書不是成爲大家學習爬蟲的障礙,而是享受到爬蟲的樂趣。

幾個月的努力,每天晚上在公司從7點寫到12點,多少個週末沒有出去玩耍,拒絕了朋友的邀約,我終於能出版一本自己的書了。

這本書,我希望零基礎的同學可以讀,有基礎的同學也可以讀;我太知道一個好的老師對於學習的重要了,因此,這本書我儘量做到淺顯易懂,而且通過大量的實戰來讓成果鞏固。

貼個鏈接,希望大家支持:

京東鏈接《Python網絡爬蟲從入門到實踐》(唐鬆,陳智銓)【摘要 書評 試讀】- 京東圖書

噹噹鏈接《Python網絡爬蟲從入門到實踐》(唐鬆 陳智銓)【簡介書評在線閱讀】 - 噹噹圖書

天貓鏈接正版包郵 Python網絡爬蟲從入門到實踐 計算機與互聯網 Python爬蟲的流程 使用pip安裝第三方庫 計算機網絡 編程語言與程序設計

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章