一. 爬蟲url去重策略
- 將訪問過的url保存到數據庫中;
- 將訪問過得url保存到set中,只需要o(1)的代價就可以查詢url
- url 經過md5的編碼等方法哈希後保存到set中(scrapy採用此方法)
- 用bitmap方法,將訪問過的url通過hash函數映射到某一位
- Bloomfilter方法對bitmap進行改進,多重hash函數降低衝突;
ps:從字面上理解,url去重即去除重複的url,在爬蟲中就是去除已經爬取過的url,避免重複爬取,既影響爬蟲效率,又產生冗餘數據。
二.字符串編碼
- 計算機只能處理數字,文本轉化爲數字才能處理。計算機中8個bit作爲一個字節,所以一共字節能表示最大數字爲255
- Ascll(一個字節)美國人的標準編碼;
- GB2312編碼,兩個字節表示一個漢字;
- Unicode出現將所有語言統一到一套編碼裏;
- 亂碼問題解決,全是英文,uniconde編碼比Ascll需要多一倍存儲空間;
- 可變長的編碼“utf-8”;把英文變成一個字節,漢字3個字節。傳輸大量的英文,utf-8作用很明顯;
- Utf-8和unicode的區別;
Unicode 是「字符集」 UTF-8 是「編碼規則」 p字符集:爲每一個「字符」分配一個唯一的 ID(學名爲碼位 / 碼點 / Code Point) 編編碼規則:將「碼位」轉換爲字節序列的規則(編碼/解碼 可以理解爲 加密/解密 的過程)