Python爬取豆瓣Top250并可視化(五)- 爬蟲代碼總結
寫完這篇,爬蟲代碼就全部結束了。代碼筆記:

代碼的解釋基本都在注釋中。也很簡單,主要是寫成了一個類,這樣程序只有一個入口。就是run()??偨Y了幾種常用保存爬蟲數(shù)據的方法:
1,保存到csv;
2,保存到excel;
3,保存到數(shù)據庫,這里用的是sqlite和mysql;

需要注意的:

提取數(shù)據部分:

在get_data()里有一個項,也就是排名第53的電影《大鬧天宮》,將年份和地區(qū)分離的時候,會讓插入的sql語句產生錯誤,所以這里用了正則提取數(shù)字和文字。

數(shù)據保存部分:
1,保存數(shù)據到本地的時候,I/O文件與數(shù)據遍歷的時候保存問題,一不小心就有可能只保存到一部分;
2,用xwlt保存到excel的時候雙層循環(huán)問題;
3,用csv保存的時候DictWriter寫法;
4,sqlite和mysql主鍵自增寫法的不同,sqlite是autoincrenment,而mysql是auto_increment,確切的說是全部大寫;
5,用占位符構造sql語句時的對愿列表進行處理的方法;也就是給data的每一項前后加上雙引號的處理方法;
6,mysql創(chuàng)建數(shù)據的時候默認字符集的處理CREATE DATABASE IF NOT EXISTS {databasename} DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
7,構造sql語句的時候最容易出現(xiàn)錯誤,最直觀的方法就是在sql的控制臺執(zhí)行一下sql語句,看是不是有效運行,這樣可以減少很多時間;
8,調試代碼的時候可以用exit(),如果是循環(huán),也可以用break;
9,試著給某些函數(shù)做條件限定。