enium_買粉絲)
self.log(u'抓取到買粉絲文章%d篇' % len(articles))
# Step 6: 把買粉絲文章數據封裝成字典的list
self.log(u'開始整合買粉絲文章數據為字典')
articles_list = self.switch_arctiles_to_list(articles)
# Step 7: 把Step 5的字典list轉換為Json
self.log(u'整合完成,開始轉換為json')
data_json = json.mps(articles_list)
# Step 8: 寫文件
self.log(u'轉換為json完成,開始保存json數據到文件')
self.save_file(data_json)
self.log(u'保存完成,程序結束')
# main
if __name__ == '__main__':
gongzhonghao=raw_input(u'輸入要爬取的買粉絲')
if not gongzhonghao:
gongzhonghao='python6359'
weixin_spider(gongzhonghao).run()
第二版代碼:
對代碼進行了一些優化和整改,主要:
1.增加了excel存貯
2.對獲取文章內容規則進行修改
3.豐富了注釋
本程序已知缺陷: 如果買粉絲的文章內容包括視視頻,可能會報錯。
[python] view plain 買粉絲py
#!/usr/bin/python
# 買粉絲ding: utf-8
目錄:
1. PC網頁爬蟲
2. H5網頁爬蟲
3. 買粉絲小程序爬蟲
4. 手機APP爬蟲
爬取超級猩猩的課表,該平臺僅提供了買粉絲小程序這一個途徑,前面兩種針對買粉絲網頁的爬取方式都不再適用。
采用抓包分析是我們制定方案的第一步。
我用的Mac電腦,fiddler只有一個簡化版,所以另找了Charles這個類似的軟件。啟動Charles的代理,在手機WIFI中設置好對應的代理就可以開抓了。但是,抓到的買粉絲s包的內容都是亂碼,咋辦?
Charles中提供了ssl證書,在手機端安裝證書即可。推薦使用iPhone,直接安裝描述文件即可。Android手機必須使用系統版本在7.0以下的才行,7.0以上還需要反編譯什么的,太麻煩了。
很容易的定位到了超級猩猩買粉絲小程序載入課表的后臺接口。拿這個URL在瀏覽器里訪問試試,直接返回了json結果!超級猩猩很友好!
提取對應的URL,放到瀏覽器中驗證,也可以支持返回json包,剩下就是分析一下這個json的數據結構,按照需要的方式導出了。
直接通過接口的爬取效率非常高,幾秒鐘就拉取了全國各個門店的排課,相當舒心。(下圖的錄屏沒有進行加速)
最后一個挑戰就是對只有Android/iOS的APP端應用數據的爬取。請看下一章
請點擊: <下一頁>