无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Python爬取豆瓣Top250并可視化(四) —— 保存數(shù)據(jù)到數(shù)據(jù)庫(kù) —— Mysql

2022-11-03 12:08 作者:碼夫破石  | 我要投稿

保存爬蟲數(shù)據(jù)到數(shù)據(jù)庫(kù),某常用的是mysql,而不是sqlite,所以追加一篇保存到mysql數(shù)據(jù)庫(kù)的筆記。

mysql數(shù)據(jù)庫(kù)對(duì)于個(gè)人網(wǎng)站來(lái)說(shuō),還是比較友好的,這里搭建在本地,用到的是集成環(huán)境WAMP,思路的話查看關(guān)于Python與mysql的基本用法。直接上代碼:

腳本運(yùn)行完后保存到數(shù)據(jù)庫(kù)的截圖:

幾點(diǎn)注意:

1,數(shù)據(jù)庫(kù)服務(wù)器搭建好后,創(chuàng)建數(shù)據(jù)庫(kù)的時(shí)候,可以用LAMP環(huán)境下的phpmyadmin可視化管理數(shù)據(jù)庫(kù),也可以用navicat,但是兩種可視化創(chuàng)建數(shù)據(jù)庫(kù)的途徑,一定要注意編碼,用phpmyadmin的編碼最好選utf8_general_ci, 而navicat的編碼為utf8 -- UTF-8 Unicode;

2,提取網(wǎng)頁(yè)爬取數(shù)據(jù)的時(shí)候,這里數(shù)據(jù)量比較小,所以用一個(gè)datalists就包含了,如果比較多的話,可以邊爬邊保存,直接在get_data()函數(shù)里進(jìn)行保存;

3,構(gòu)造sql語(yǔ)句的時(shí)候,插入語(yǔ)句的值是根據(jù)設(shè)定的數(shù)據(jù)類型而有所不同的,比如是數(shù)值型的,在構(gòu)造sql的時(shí)候,就不要雙引號(hào);

4,與sqlite相同的是,創(chuàng)建表的時(shí)候,如果設(shè)定了自增主鍵(一般為id),那么插入數(shù)據(jù)的時(shí)候,是可以忽略自增主鍵的;

5,注意pymysql和sqlite在語(yǔ)法上的不同,創(chuàng)建表時(shí),如主鍵id需要自增長(zhǎng),sqlite的寫法是autoincrenment,而mysql的寫法是auto_increment;

6,函數(shù)save_to_mysql_database()有兩個(gè)需要注意,一個(gè)是用構(gòu)造sqls時(shí)候,要提取data里的每項(xiàng)值data[index]然后再加雙引號(hào)賦值給原來(lái)的data[index],for循環(huán)和sqls的位置;第二個(gè)是外層for循環(huán),提交數(shù)據(jù)庫(kù)更改的時(shí)候,conn.commit(),一定是要與外層for循環(huán)的for對(duì)齊。

打完收工。處理數(shù)據(jù)庫(kù),需要很多耐心,很多調(diào)試,特別是與爬蟲結(jié)合的時(shí)候,要爬的服務(wù)器可能隨時(shí)拒絕服務(wù),所以倡議做爬蟲的時(shí)候,盡量用最少的請(qǐng)求做完,給原服務(wù)器減壓。

申明:本文僅供學(xué)習(xí)交流使用。如有侵權(quán),請(qǐng)聯(lián)系我刪除。感謝。

Python爬取豆瓣Top250并可視化(四) —— 保存數(shù)據(jù)到數(shù)據(jù)庫(kù) —— Mysql的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
榆林市| 连城县| 海门市| 治县。| 孝感市| 鹤峰县| 涞源县| 游戏| 曲水县| 凤阳县| 五大连池市| 沁源县| 石嘴山市| 大方县| 吴旗县| 山阳县| 泾川县| 双峰县| 新巴尔虎右旗| 观塘区| 桃源县| 翼城县| 安塞县| 大竹县| 湛江市| 怀柔区| 临澧县| 泸溪县| 论坛| 社会| 新泰市| 贡觉县| 上蔡县| 洛隆县| 鹤壁市| 杂多县| 高碑店市| 青州市| 麻栗坡县| 开封市| 江川县|