【學習】01 貓眼電影爬蟲-最受期待榜榜單
阿新 • • 發佈:2019-02-18
參考來源:
專案地址:
實現功能:
- 使用requests庫爬取榜單
- 分析第1步獲取的HTML資料,使用正則表示式過濾採集需要的資訊欄位,使用生成器儲存欄位資料,加上re.S引數連換行符一起輸出
- 儲存到log檔案中
- 多執行緒爬取
遇到的問題:
- get請求沒有加User-Agent的header,爬蟲被拒絕訪問,新增後解決
未解決問題:
- 期待度的2個數字不顯示
原因:原始碼中展示的並不是純粹的數字。而是在頁面使用了font-face定義了字符集,並通過unicode去對映展示。簡單介紹下這種新型的web-fongt反爬蟲機制:使用web-font可以從網路載入字型
收穫:
- 學會了基本的requests操作,請求和分析一個靜態頁面
- 學會了基本的正則表示式操作,通過()獲取得到不同的關鍵字,提取得到需要的資訊
- 基本的寫入文字檔案操作
- 遇到最簡單的反爬蟲,加入header引數裡面的user-agent即可
- 最簡單的多執行緒抓取,map函式的使用
- 字串轉JSON生成字典,使用json.loads()方法
- 用生成器儲存演算法,而不是直接生成字典,避免儲存空間浪費,在需要用到資料的時候,使用for迴圈呼叫生成器生成資料即可
- 儲存到檔案使用中文的時候,open方法中要使用encoding='utf-0',write方法中要使用ensure_ascii=False)