想要學習爬蟲和自動化表格,有哪些好渠道?

問題:想要自己構建爬蟲和自動化表格,進行數(shù)據(jù)收集和分析,有哪些好的渠道學習?
1.?很多人一上來就要爬蟲,其實沒有弄明白要用爬蟲做什么,最后學完了卻用不上。
?
大多數(shù)人其實是不需要去學習爬蟲的,因為工作所在的公司里有自己的數(shù)據(jù)庫,里面就有數(shù)據(jù)來幫助你完成業(yè)務分析。
什么時候要用到爬蟲呢??
當工作中沒有你需要的數(shù)據(jù),你必須要從上網(wǎng)搜集一些數(shù)據(jù)時,這時候就可以利用爬蟲模擬瀏覽器打開網(wǎng)頁,獲取網(wǎng)頁中我們想要的那部分數(shù)據(jù),從而提高工作效率。?
?
另外構建自動化表格也是可以用爬蟲做到的,也就是通過爬蟲搜集特定數(shù)據(jù),然后自動保存到Excel中實現(xiàn)自動化表格的構建。?
?
不管是構建爬蟲,還上自動化表格,這其中爬蟲所要做的包括4步流程(下圖),模擬瀏覽器發(fā)起請求(獲取代碼)->獲取響應內容(獲取爬到的內容)->解析內容(從爬到的內容里面提取有用的數(shù)據(jù))->保存數(shù)據(jù)(把爬到的數(shù)據(jù)保存到數(shù)據(jù)庫或Excel文件)中。?

?
2. ?實現(xiàn)爬蟲的工具有有兩種,一種是傻瓜式的爬蟲工具,這種工具通過可視化界面就可以操作,上手快。另一個種是通過Python編程來爬蟲,這種需要一定的學習成本。
3.?傻瓜式的爬蟲工具
1)后羿,官網(wǎng):houyicaiji.com
打開官網(wǎng)后點擊下圖“文檔中心”有入門教程。

2) 集搜客,官網(wǎng):http://gooseeker.com

4.?Python爬蟲
通過編程來爬蟲涉及到的知識特別多,很多人因為學習爬蟲知識點的步驟不對,導致從入門到放棄。下面是學習Python爬蟲的整體步驟,從整體上先有個認知:??
1) 學習爬蟲就好比做菜,首先要學會基本的Python語法知識,熟悉食譜,才能心中有數(shù),做好烹飪。?
2) 相比于廚師的菜刀,Python爬蟲常用到的幾個重要內置庫urllib, http等,則是我們我們爬蟲無往不利的利器,它們可以幫我們下載網(wǎng)頁。?
3) 廚師烹飪前對食材的熟悉是基本的要求,而對于爬蟲來說,正則表達式re、BeautifulSoup(bs4)、Xpath(lxml)等網(wǎng)頁解析工具的學習,也是基本要求,只有學會它們,我們才能知道特定網(wǎng)站的規(guī)則,成功爬取其中數(shù)據(jù)。?
4) 熟悉了食譜,了解了食材,有了菜刀,我們就可以開始一些簡單的網(wǎng)站爬取,了解爬取數(shù)據(jù)過程。這時候你已經(jīng)是入門爬蟲了。
?
而如果你不僅僅滿足于烹飪簡單食材,想繼續(xù)精進爬蟲,那么你可以開始下面步驟的學習,它們是成為爬蟲大神的必經(jīng)之路:?
5) 了解爬蟲的一些反爬機制,header,robot,時間間隔,代理ip,隱含字段等 。
6) 學習一些特殊網(wǎng)站的爬取,解決登錄、Cookie、動態(tài)網(wǎng)頁等問題 。
7) 了解爬蟲與數(shù)據(jù)庫的結合,如何將爬取數(shù)據(jù)進行儲存 。
8) 學習應用Python的多線程、多進程進行爬取,提高爬蟲效率 。
9) 學習爬蟲的框架,Scrapy、PySpider等 。
10) 學習分布式爬蟲(數(shù)據(jù)量龐大的需求)?
?
5.?學習Python爬蟲的渠道推薦有CSDN,BiliBili,知乎。這些網(wǎng)站有很多免費優(yōu)質的資源,可以幫助你快速入門爬蟲學習。?
6.?Python 針對?Excel?有很多的第三方庫可以用,比如 xlwings、xlsxwriter、xlrd、xlwt、pandas、xlsxwriter、win32com、xlutils 等等。?
這些庫可以很方便地實現(xiàn)對Excel文件的增刪改寫、格式修改等,當然并不推薦你全部都去嘗試一下,這樣時間成本太大了。使用 xlwings、 xlrd和 xlwt這兩個就夠了,基本能解決 Excel 自動化表格的所有問題。?
?
xlwing?不光可以讀寫Excel?,還能進行格式調整、VBA?操作,非常強大且易于使用。
這是關于xlwing官方教程(https://www.xlwings.org)里面有著豐富的實例教學視頻,不過里面是英文講解。
7. ?需要提醒的是,爬蟲作為獲取數(shù)據(jù)的技術手段之一,由于部分數(shù)據(jù)存在敏感性,如果不能甄別哪些數(shù)據(jù)是可以爬取,哪些會觸及法律,可能下一位上新聞的主角就是你。所以你要格外注意。
對于如何界定爬蟲的合法性,可以從三個角度考慮,分別是采集途徑、采集行為、使用目的。?
1) 通過什么途徑爬取數(shù)據(jù),這個是最需要重視的一點??傮w來說,未公開、未經(jīng)許可、且?guī)в忻舾行畔⒌臄?shù)據(jù),不管是通過什么渠道獲得,都是一種不合法的行為。
所以在采集這類比較敏感的數(shù)據(jù)時,最好先查詢下相關法律法規(guī),特別是用戶個人信息、其他商業(yè)平臺的信息 等這類信息,尋找一條合適的途徑。?
2) 使用技術手段應該懂得克制,如果爬蟲會導致其他公司服務器和業(yè)務造成干擾甚至破壞的行為,這種行為是不能有的。?
3) 數(shù)據(jù)使用目的同樣是一大關鍵,就算你通過合法途徑采集的數(shù)據(jù),如果對數(shù)據(jù)沒有正確的使用,同樣會存在不合法的行為。常見的違規(guī)行為有:不遵循數(shù)據(jù)許可協(xié)議,超出約定的使用;出售個人信息;不正當商業(yè)行為等。
8.?最后提醒,如果不是必須要用到爬蟲,能不爬就別爬。
