要學會使用Python爬取網頁信息無外乎以下幾點內容:
要會Python
知道網頁信息如何呈現
了解網頁信息如何產生
學會如何提取網頁信息
第一步Python是工具,所以你必須熟練掌握它,要掌握到什么程度呢?如果你只想寫一寫簡單的爬蟲,不要炫技不考慮爬蟲效率,你只需要掌握:數據類型和變量字符串和編碼
使用list和tuple
條件判斷、循環
使用dict和set
你甚至不需要掌握函數、異步、多線程、多進程,當然如果想要提高自己小爬蟲的爬蟲效率,提高數據的精確性,那么記住最好的方式是去系統的學習一遍Python。
那么進入第二步:知道網頁信息如何呈現?你首先要知道所需要抓取的數據是怎樣的呈現的,就像是你想要學做一幅畫,在開始之前你要知道這幅畫是用什么畫出來的,鉛筆還是水彩筆等等
但是放到網頁信息來說這兒只有兩種呈現方式:
HTML(HTML是用來描述網頁的一種語言)
JSON (JSON是一種輕量級的數據交換格式)
那么我們緊接著第三步:數據怎么來?數據當然是從服務器反饋給你的,為什么要反饋給你?因為你發出了請求。
“Hi~ ,服務器我要這個資源”
“正在傳輸中...”
“已經收到HTML或者JSON格式的數據”
這是什么請求?
這里你需要了解一下http的基礎知識,
更加精確來說你需要去了解GET和POST是什么,區別是什么。
下面就是好好享受了。現在我們已經拿到了數據,我們需要在這些錯亂的數據中提取我們需要的數據,這時候我們有兩個選擇。
第一:Python正則表達式 ,再大再亂的內容,哪怕是大海撈針,只要告訴我這個針的樣子我都能從茫茫大海中撈出來,強大的正則表達式是你提取數據的不二之選。
第二:Beautiful Soup 4.2.0 文檔,或許我們有更好的選擇,我們把原始數據和我們想要的數據的樣子扔個這個Beautifulsoup,然后讓它幫我們去尋找,這也是一個不錯的方案,但是論靈活性,還是正則表達式更好用。這里就是所有爬取網頁所需要掌握的知識,當你學習完這些內容,接下來你要做的事就是實戰了,并且只有在實戰中才能真正的提升自己的編程能力,學習更多爬蟲以及反爬蟲的技巧。