1. 程式人生 > >爬蟲經驗小總結

爬蟲經驗小總結

前言

專案組要我爬取一些營養資料,過程曲折,還是有許多體會的,總結一下,防止以後在入坑

注意事項

  1. 存取爬取資料時,要保留資料來源的url,以便以後發現數據有誤以後可以矯正
  2. 如果插入資料到有外來鍵的資料庫,一定要把所有的插入語句組成一個事務,否則一旦出現異常,資料就不一致了
  3. 儲存文字資訊到mysql時儘量使用text型別,指不定就爆出長度不夠
  4. 要做好重複處理的標記,我習慣使用廣度優先,一批一批的存url,儲存待爬取url的資料表需要有status欄位,以便判斷爬取url對應網頁的資料時是否出現錯誤,畢竟網頁格式可能會發生變換
  5. 先設計好表結構後在寫程式碼,我之前先寫好了爬取程式碼,結果師兄給我的表結構的儲存型別中有json,費了我一些精力才改過自己的程式碼
  6. 爬取頻率自己要摸透,因為不同網站採取的反爬策略是不一樣的,有些可能返回HTTP狀態碼,有些可能放毒(最可怕),有些可能封禁IP(例如豆瓣的封禁IP,不過豆瓣可以很容易判斷自己是不是被封了),所以儘可能的不要被封禁,被封禁,麻煩可能就大了,尤其是放毒
  7. 存取爬取資料的資料表可能有多個,一般我會把id作為主鍵,如果一個表格有外來鍵,外來鍵儘量不要引用主鍵(id),因為表格一旦合併,id就全變了,外來鍵就沒用了

關於爬蟲,自己還是不夠ok,看看如何進一步學習吧