Python數據分析及可視化實例之Request、BeautifulSoup

系列文章總目錄:Python數據分析及可視化實例目錄


這一節看似好講實則難以表述清楚,

講不到的地方請別較真,也不要問爬蟲哪家好?

我只說我知道的,怎麼選擇,兄弟們請隨意。

1. WEB請求

第一段就難倒我了,非要講述Web8種http請求方式,

無異於孔乙己知道茴字的N種寫法(關鍵我也不會啊)。

先說說我學爬蟲的過程,搬板凳,帶瓜子,講故事了:

每一個Python初學者大都繞不開爬蟲的坑,

那年我玩CPC網賺,按鍵精靈、國產編程語言,大漠插件,靠譜助手,知道的舉個手?

了解了Web前端的標籤,網頁像素級點擊的方法,後台發送數據的技巧......

吾愛破解,小眾軟體社區跑多了覺得能破解、寫軟體看起來挺牛逼的,

偶然進了我乎,發現程序猿大牛真特么厲害,三條汪都還在,炒雞偶像!

程序員們在撕逼PHP是宇內第一語言的時候,也順便提到了人類未來Python,

人生苦短,我用Python,逼格當時就爆棚了,

沒錯,@ 廖雪峰,為人不識陳近南啊,照著他2.X教程擼3.X還是痛苦的,

之後他出了3.X,我就順手爬了他的教程,做成的帶標籤的PDF,

現在還是吾愛破解的熱帖(捂臉!)

如何爬技術博客專題,並將其作為帶標籤的PDF,請自行研究!

當然,那個時候@ 靜覓丨崔慶才的系列博客也不能少。【操蛋,扯遠了!】

2.WEB請求流程及器具

第一步,IE準備HttpWatch(來自易語言啟蒙教程,嘿嘿);火狐瀏覽器安裝FireBug插件;通殺軟體Fiddler,連費德勒都解決不了的,祭出神器Shark

這個階段,先了解一個網路請求是Get還是Post,請求協議頭長什麼樣子,Post數據是什麼格式、來源,響應都包含哪些,Html標籤含義,JS的作用等等。挨個說起來就話長了。對了,你要抓APP,還的自備隨身WIFI,設置FiddlerShark,無外乎獲取canshu。

第二步,由於我堅定學習3.x,而Scrapy只支持2.7,所以我就從底層自己構建,包括後來的多線程,IP池,驗證碼,都一個個解決。所以我的建議是先不要用框架,等你熟悉了再用不遲。

網路請求不要糾結,用Requests:快速上手 - Requests 2.18.1 文檔,別人的文檔寫的這麼好了,我就不做搬運工,以後用實例慢慢解析。

第三步,GET請求成功(200)之後,相應就是Html源碼,如何提取?Re正則肯定是萬能的神器,但是結合BeautifulSoup你會覺得可以更簡單,我個人的編程風格就是混搭風,英文、中文、pinyin混合使用,不拘泥於形式,以最短的路徑實現功能,有點像大數據的梯度下降,越快越好。同樣Beautiful Soup 4.2.0 文檔也已經很完善,稍後用實例解析。

第四步,提取的數據保存,最開始自然是TXT格式,順便熟悉以下TXT格式的讀取,這個在任何時候都可能用到;然後是CSV,別以為import csv你就可以隨便存了,裡面還有不少坑,尤其是行頭,嗯嗯,稍後實例解析。妹子高清圖除外,圖片是位元組集,要用file保存。

題外話:我沒有說POST是因為他除了用來登錄以外,常常被用作各種論壇群發機,用作營銷推廣(留言板、站內信、頂帖),當然,賬號被封也是家常便飯,所以本主不打算在我乎細說這個。呵呵,感興趣的朋友可以看看這個:xchaoinfo/fuck-login

如果這個大牛的登陸源碼你都係數看懂了,那你就可以自成一脈,專殺各種論壇、博客營銷。如果想更深度的發揚這個體系,你還的搞定IP代理,驗證碼識別、自然語言NLP,路慢慢洗!

3.文末

我知道大家關注本專欄就是沖著實例來的,

別特么提底層框架?基礎工程是我的專業,

其實,讓我講理論,水平欠缺,容易溝帶,

不看廣告,看療效,下來爬一爬百度貼吧!

膠水語言博大精深,

本主只得一二為新人帶路,

老鳥可去另一專欄:Python中文社區

Python數據分析及可視化實例目錄


最後,別只收藏不關注哈

推薦閱讀:

從事數據工作的你,有多少數據競爭力?
PowerBI公式 - VAR
【效率提升】Python中的並行運算
Kaggle入門系列(三)Titanic初試身手
營銷轉數據,兩年半到P7,我都做了哪些事兒?

TAG:Python | 数据分析 |