回顧一個月的爬蟲學習
學習爬蟲湊湊合合也將近一個月了吧,從一開始的一無所知(除了Python)到現在可以爬取一些網站的數據,進步也是能夠看到的。作為一個回顧,我在這裡把爬蟲學習的路徑再理一遍,也供想要學習爬蟲的夥伴參考參考。
首先學習爬蟲沒有知乎上大家所說的那樣簡單,或許我們都有一個誤解,聽到別人所謂的簡單然後自己也以為如此,這實際上是很天真的(自個先打臉了( ̄ε(# ̄))。現在看來,最基本的爬蟲包含(但不限於)下面幾個知識塊:
0.網頁三劍客(HTML、JS、CSS)+ Python基礎
1.HTTP協議(如何獲取網頁信息)
通過urllib、requests庫可以簡化請求網頁的過程
2.篩選方式+解析庫(用於從網頁信息中篩選出需要的內容)
常用解析庫包含BeautifulSoup,lxml等
篩選方式包含正則、Xpath、CSS Select等
3.格式化信息(如何把獲取到的信息加工成便與查看或儲存的格式)
需要掌握列表、字元串、字典等數據結構(包含屬性和方法的熟練運用)
一些高級的Python特性,比如生成器等
4.儲存信息
包含兩大類:文件存儲,資料庫存儲
文件存儲又包含TXT文件、CSV文件、Json文件,需要熟悉這幾種文件的讀寫方式
資料庫存儲包含關係型和非關係型,其複雜度高於文件存儲,掌握更費時,具體有:
關係型:MySQL
非關係型:MonggoDB、Redis
回頭來看,除了Python語言本身之外,上面的任一一塊知識都是很「硬」的(Python也很重要),需要花上大把的時間才能熟練掌握。現在看來我是用了較短的時間,通過小項目熟悉了寫爬蟲需要用到的知識塊,做到了心中有數,好處在於心裡有底了,減少了茫然,但麻煩就是許多知識掌握的還比較薄弱。不過再怎麼說,這也證明了項目指引學習的方式是一種有效的入門手段。
最後再感慨下,安排好各個知識的學習次序,遇到問題知道怎樣解決而不是一下子懵逼,能夠在紛繁的知識中做到有條不紊的漸進,這些都是作為一個CS-learner的必要但不容易習得的自我修養啊。學習之路還很漫長,還需努力(? ?_?)?
推薦閱讀: