欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請碼778899分享:手把手學(xué)爬蟲第四彈——數(shù)據(jù)存儲

柚子快報(bào)邀請碼778899分享:手把手學(xué)爬蟲第四彈——數(shù)據(jù)存儲

http://yzkb.51969.com/

這個(gè)我感覺真的不用解釋了吧。就是把爬取到的數(shù)據(jù)做一個(gè)保存,數(shù)據(jù)的存儲形式多種多樣,但主要分為兩類,一類是簡單的保存為文本文件,例如txt、json、csv等,另一類是保存到數(shù)據(jù)庫,例如MySQL、MongoDB、Redis等。接下來就來學(xué)習(xí)這些方法吧~

準(zhǔn)備工作

學(xué)習(xí)數(shù)據(jù)存儲前我們需要先爬取數(shù)據(jù),這里我就不再編寫這部分代碼了,直接用前面爬取豆瓣的代碼演示,不明白的回去看我前面的博客哦

保存為文本形式

文件打開方式

tip: 這里列舉一下文件保存的一個(gè)參數(shù)

| 參數(shù) | 含義 |

| — | — |

| r | 只讀方式打開(默認(rèn)這種方式) |

| rb | 以二進(jìn)制只讀打開(用于音頻、圖片、視頻) |

| r+ | 以讀寫方式打開文件 |

| rb+ | 以二進(jìn)制讀寫打開 |

| w | 以寫入方式打開文件(文件存在則覆蓋,不存在就新建) |

| wb | 以二進(jìn)制寫入方式寫入(文件存在則覆蓋,不存在就新建) |

| w+ | 以讀寫方式打開文件 (文件存在則覆蓋,不存在就新建) |

| wb+ | 以二進(jìn)制讀寫方式打開文件 (文件存在則覆蓋,不存在就新建) |

| a | 以追加方式打開文件 |

| ab | 以二進(jìn)制追加方式打開文件 |

| a+ | 以讀寫方式打開文件 |

| ab+ | 以二進(jìn)制追加打開文件 |

保存為txt文本

這應(yīng)該是爬蟲數(shù)據(jù)保存最簡單的一種方式了,直接看代碼,這里為了方便我將所有的數(shù)據(jù)保存都定義為函數(shù),調(diào)用對應(yīng)的函數(shù)實(shí)現(xiàn)保存即可。

第一種寫法:

這種方式需要定義file等于

def save_txt_2(mystr):

file = open(‘…/Include/電影-1.txt’, ‘a(chǎn)’, encoding=‘utf-8’)

file.write(mystr+‘\n’)

file.close()

第二種寫法:

這種方法對一種方法進(jìn)行了簡化,一般都會使用這種方式

保存數(shù)據(jù)為txt(簡寫的方式)

def save_txt_1(mystr):

with open(‘…/Include/電影.txt’, ‘a(chǎn)’, encoding=‘utf-8’) as file:

file.write(f’{mystr}\n’)

保存為JSON

json作為一種很常見的數(shù)據(jù)存儲格式,通常以一個(gè)大括號包裹著鍵值對的形式,例如下面的這個(gè)數(shù)據(jù)

{‘name’:‘張三’, ‘a(chǎn)ge’:18, ‘sex’:‘男’}

數(shù)據(jù)存儲為json

def save_json(data):

with open(‘…/Include/電影.json’, ‘a(chǎn)’, encoding=‘utf-8’) as file:

file.write(f’{data}\n’)

保存為CSV

逗號分隔值(Comma-Separated Values,CSV,有時(shí)也稱為字符分隔值,因?yàn)榉指糇址部梢圆皇嵌禾枺湮募约兾谋拘问酱鎯Ρ砀駭?shù)據(jù)(數(shù)字和文本)。純文本意味著該文件是一個(gè)字符序列,不含必須像二進(jìn)制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。

因?yàn)榕老x里面我們通常會以字典的形式保存數(shù)據(jù),所以這里我就演示如何將字典數(shù)據(jù)存儲為csv文件。

數(shù)據(jù)存儲為csv

def save_csv(data):

with open(‘…/Include/電影.csv’, ‘a(chǎn)’, encoding=‘utf-8’) as file:

注意這里的fieldnames里的字段必須和你要存儲的字典里的鍵對應(yīng),否則會報(bào)錯

fieldnames = [‘電影名稱:’, ‘導(dǎo)演與演員:’, ‘電影評分:’, ‘評價(jià)人數(shù):’, ‘電影總結(jié):’]

writer = csv.DictWriter(file, fieldnames=fieldnames)

writer.writerow(data)

保存到數(shù)據(jù)庫

保存到MySQL

MySQL作為一種開源關(guān)系型數(shù)據(jù)深受開發(fā)者的喜歡,在爬蟲數(shù)據(jù)存儲的過程中我們也經(jīng)常使用。

與前面存儲為文本形式不同,存儲到數(shù)據(jù)庫時(shí)我們通常需要先連接數(shù)據(jù)庫,然后才能執(zhí)行存儲操作,這里我事先在mysql里面見一個(gè)名為movies的數(shù)據(jù)庫和一張名為movie的數(shù)據(jù)表。

數(shù)據(jù)存儲到MySQL

def save_mysql(data):

建立連接

db = pymysql.connect(host=‘127.0.0.1’, user=‘root’, password=‘123456’, port=3306, db=‘movies’)

建立游標(biāo)

cursor = db.cursor()

sql語句

sql = "insert into movice(mname,director,score,allcount,summary) values (%s,%s,%s,%s,%s) "

操作

data = (data[‘電影名稱:’], data[‘導(dǎo)演與演員:’], data[‘電影評分:’], data[‘評價(jià)人數(shù):’], data[‘電影總結(jié):’])

try:

cursor.execute(sql,data)

db.commit()

except Exception as e:

print(‘插入數(shù)據(jù)失敗’, e)

db.rollback() # 回滾

關(guān)閉游標(biāo)

cursor.close()

關(guān)閉連接

db.close()

保存到MongoDB

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)Python工程師,想要提升技能,往往是自己摸索成長或者是報(bào)班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動則幾千的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年P(guān)ython開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時(shí)減輕大家的負(fù)擔(dān)。

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上前端開發(fā)知識點(diǎn),真正體系化!

由于文件比較大,這里只是將部分目錄大綱截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會持續(xù)更新

如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。。▊渥ython)

png)

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上前端開發(fā)知識點(diǎn),真正體系化!

由于文件比較大,這里只是將部分目錄大綱截圖出來,每個(gè)節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會持續(xù)更新

如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。。▊渥ython)

柚子快報(bào)邀請碼778899分享:手把手學(xué)爬蟲第四彈——數(shù)據(jù)存儲

http://yzkb.51969.com/

推薦鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18823463.html

發(fā)布評論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄