如何入門 Python 爬蟲?

猴子數據分析 發佈 2022-07-17T02:03:05.926030+00:00

1.很多人一上來就要爬蟲,其實沒有弄明白要用爬蟲做什麼,最後學完了卻用不上。大多數人其實是不需要去學習爬蟲的,因為工作所在的公司里有自己的資料庫,裡面就有數據來幫助你完成業務分析。什麼時候要用到爬蟲呢?

1.很多人一上來就要爬蟲,其實沒有弄明白要用爬蟲做什麼,最後學完了卻用不上。

大多數人其實是不需要去學習爬蟲的,因為工作所在的公司里有自己的資料庫,裡面就有數據來幫助你完成業務分析。

什麼時候要用到爬蟲呢?

當工作中沒有你需要的數據,你必須要從上網搜集一些數據時,這時候就可以利用爬蟲模擬瀏覽器打開網頁,獲取網頁中我們想要的那部分數據,從而提高工作效率。

另外構建自動化表格也是可以用爬蟲做到的,也就是通過爬蟲搜集特定數據,然後自動保存到Excel中實現自動化表格的構建。

不管是構建爬蟲,還上自動化表格,這其中爬蟲所要做的包括4步流程(下圖),模擬瀏覽器發起請求(獲取代碼)->獲取響應內容(獲取爬到的內容)->解析內容(從爬到的內容裡面提取有用的數據)->保存數據(把爬到的數據保存到資料庫或Excel文件)中。

2.實現爬蟲的工具有有兩種,一種是傻瓜式的爬蟲工具,這種工具通過可視化界面就可以操作,上手快。另一個種是通過Python編程來爬蟲,這種需要一定的學習成本。


3.傻瓜式的爬蟲工具

1)后羿,官網:http://houyicaiji.com

打開官網後點擊下圖「文檔中心」有入門教程。


2)集搜客,官網:http://gooseeker.com


4.Python爬蟲

通過編程來爬蟲涉及到的知識特別多,很多人因為學習爬蟲知識點的步驟不對,導致從入門到放棄。下面是學習Python爬蟲的整體步驟,從整體上先有個認知:

1)學習爬蟲就好比做菜,首先要學會基本的Python語法知識,熟悉食譜,才能心中有數,做好烹飪。

2)相比於廚師的菜刀,Python爬蟲常用到的幾個重要內置庫urllib, http等,則是我們我們爬蟲無往不利的利器,它們可以幫我們下載網頁。

3)廚師烹飪前對食材的熟悉是基本的要求,而對於爬蟲來說,正則表達式re、BeautifulSoup(bs4)、Xpath(lxml)等網頁解析工具的學習,也是基本要求,只有學會它們,我們才能知道特定網站的規則,成功爬取其中數據。

4)熟悉了食譜,了解了食材,有了菜刀,我們就可以開始一些簡單的網站爬取,了解爬取數據過程。這時候你已經是入門爬蟲了。

而如果你不僅僅滿足於烹飪簡單食材,想繼續精進爬蟲,那麼你可以開始下面步驟的學習,它們是成為爬蟲大神的必經之路:

5)了解爬蟲的一些反爬機制,header,robot,時間間隔,代理ip,隱含欄位等 。

6)學習一些特殊網站的爬取,解決登錄、Cookie、動態網頁等問題 。

7)了解爬蟲與資料庫的結合,如何將爬取數據進行儲存 。

8)學習應用Python的多線程、多進程進行爬取,提高爬蟲效率 。

9)學習爬蟲的框架,Scrapy、PySpider等 。

10)學習分布式爬蟲(數據量龐大的需求)

5.學習Python爬蟲的渠道推薦有CSDN,BiliBili,知乎。這些網站有很多免費優質的資源,可以幫助你快速入門爬蟲學習。

6.Python 針對 Excel 有很多的第三方庫可以用,比如 xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils 等等。

這些庫可以很方便地實現對Excel文件的增刪改寫、格式修改等,當然並不推薦你全部都去嘗試一下,這樣時間成本太大了。使用 xlwings、 xlrd和 xlwt這兩個就夠了,基本能解決 Excel 自動化表格的所有問題。

xlwing 不光可以讀寫Excel ,還能進行格式調整、VBA 操作,非常強大且易於使用。

這是關於xlwing官方教程(https://www.xlwings.org)裡面有著豐富的實例教學視頻,不過裡面是英文講解。


7.需要提醒的是,爬蟲作為獲取數據的技術手段之一,由於部分數據存在敏感性,如果不能甄別哪些數據是可以爬取,哪些會觸及法律,可能下一位上新聞的主角就是你。所以你要格外注意。

對於如何界定爬蟲的合法性,可以從三個角度考慮,分別是採集途徑、採集行為、使用目的。

1)通過什麼途徑爬取數據,這個是最需要重視的一點。總體來說,未公開、未經許可、且帶有敏感信息的數據,不管是通過什麼渠道獲得,都是一種不合法的行為。

所以在採集這類比較敏感的數據時,最好先查詢下相關法律法規,特別是用戶個人信息、其他商業平台的信息 等這類信息,尋找一條合適的途徑。

2)使用技術手段應該懂得克制,如果爬蟲會導致其他公司伺服器和業務造成干擾甚至破壞的行為,這種行為是不能有的。

3)數據使用目的同樣是一大關鍵,就算你通過合法途徑採集的數據,如果對數據沒有正確的使用,同樣會存在不合法的行為。常見的違規行為有:不遵循數據許可協議,超出約定的使用;出售個人信息;不正當商業行為等。

8.最後提醒,如果不是必須要用到爬蟲,能不爬就別爬。

我是猴子,中科院碩士/前IBM高級軟體工程師/豆瓣8分《數據分析思維》作者,我和知乎聯合出品的「數據分析訓練營」即將開課,3天帶你掌握數據分析實用技巧,包含課程+實戰帶練,工作提效、升職加薪必備神器!

https://zhuanlan.zhihu.com/p/192273352

關鍵字: