最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
安庆市| 新巴尔虎右旗| 甘泉县| 宁强县| 文化| 寿光市| 阿勒泰市| 乌兰察布市| 崇阳县| 徐汇区| 凯里市| 神木县| 安多县| 玉林市| 古蔺县| 营山县| 阿合奇县| 刚察县| 上思县| 大港区| 峨山| 平昌县| 偃师市| 芜湖市| 荥阳市| 和林格尔县| 和硕县| 贵定县| 许昌市| 石门县| 长丰县| 昆山市| 阜新市| 加查县| 遂昌县| 桑日县| 保山市| 靖宇县| 资阳市| 潼南县| 康保县|