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,設置Fiddler或Shark,無外乎獲取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,我都做了哪些事兒?