五、保存數據到Excel、sqlite(爬蟲及數據可視化)

五、保存數據到Excel、sqlite(爬蟲及數據可視化)

  • 1,保存數據到excel
    • 1.1 保存九九乘法表到excel
      • (1)代碼testXwlt.py
      • (2)excel保存結果
    • 1.2 爬取電影詳情并保存到excel
      • (1)代碼spider.py
      • (3)excel保存結果
  • 2,保存數據到sqlite
    • 2.1 sqlite數據庫
    • 2.2 創建表
    • 2.3 插入數據
    • 2.4 查詢數據
    • 2.5 保存數據到數據庫db文件
    • 2.6 完整代碼spider.py

1,保存數據到excel

在這里插入圖片描述

1.1 保存九九乘法表到excel

(1)代碼testXwlt.py

#-*- codeing = utf-8 -*- 
#@Time : 2020/11/23 15:35
#@Author : 招財進寶
#@File : testXwlt.py
#@Software: PyCharmimport xlwt'''
workbook = xlwt.Workbook(encoding="utf-8")      #創建workbook對象(可以理解為一個文件)
worksheet = workbook.add_sheet('sheet1')        #創建工作表,可理解為文件中的表單
worksheet.write(0,0,"hello")                    #寫入數據(寫到的是內存中),第一個參數“行”,第二個“列”,第三個參數“內容”
workbook.save('student.xls')                    #保存數據表到硬盤
'''workbook = xlwt.Workbook(encoding="utf-8")      #創建workbook對象(可以理解為一個文件)
worksheet = workbook.add_sheet('sheet1')        #創建工作表,可理解為文件中的表單for i in range(0,9):for j in range(0,i+1):worksheet.write(i, j, "%d*%d=%d"%(i+1,j+1,(i+1)*(j+1)))workbook.save('student.xls')                    #保存數據表到硬盤

(2)excel保存結果

在這里插入圖片描述

1.2 爬取電影詳情并保存到excel

(1)代碼spider.py

以下為完整代碼

#-*- codeing = utf-8 -*- 
#@Time : 2020/11/20 11:08
#@Author : 招財進寶
#@File : spider.py
#@Software: PyCharmfrom bs4  import  BeautifulSoup       #網頁解析,獲取數據
import re           #正則表達式,進行文字匹配
import urllib.request,urllib.error          #指定url,獲取網頁數據
import xlwt         #進行Excel操作
import sqlite3       #進行SQLite操作def main():baseurl = "https://movie.douban.com/top250?start="#1.爬取網頁datalist = getData(baseurl)savapath = "豆瓣電影TOP250.xls"#3.保存數據savaData(datalist,savapath)#askURL("https://movie.douban.com/top250?start=0")#影片詳情鏈接的規則
findLink = re.compile(r'a href="(.*?)">')         #生成正則表達式對象,表示規則(字符串的模式),用來匹配所有的鏈接
#影片 圖片的鏈接
findImgSrc = re.compile(r'<img.*src="(.*?)"',re.S)  #re.S忽略里面的換行符,讓換行符包含在字符中
#影片片名
findTitle = re.compile(r'<span class="title">(.*)</span>')
#影片的評分
findRating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
#找到評價人數
findJudge =  re.compile(r'<span>(\d*)人評價</span>')
#找到概況
findIng = re.compile(r'<span class="inq">(.*)</span>')
#找到影片的相關內容
findBd = re.compile(r'<p class="">(.*?)</p>',re.S)   #re.S忽略里面的換行符,讓換行符包含在字符中#爬取網頁
def getData(baseurl):datalist=[]for i in range(0,10):               #此處是爬取10頁是數據,每頁有25個電影數據((0,10)左閉,右開)url = baseurl + str(i*25)       #每一頁的url后的起始位置=頁數*25html = askURL(url)              #保存獲取到的網頁源碼# 2.逐一解析數據(每個網頁解析一下)soup = BeautifulSoup(html,"html.parser")     #使用html解析器html.parser解析html# find_all()查找符合要求的字符串,形成列表for item in soup.find_all('div',class_="item"):      #class是個類別需要加下劃線,將及時div又是class_="item"的標簽找到#print(item)    #測試:查看電影item全部信息#print(type(item))data=[]         #保存一部電影的所有信息item = str(item)    #str將item變成字符串#print(item)#print(type(item))#break              #用來測試第一條item#接下來可以使用正則表達式對字符串進行解析了#影片詳情的鏈接link = re.findall(findLink,item)[0]         #re庫用來通過正則表達式查找指定的字符串,獲取兩個相同的鏈接中的第一個#print(link)data.append(link)                           #添加鏈接imgSrc = re.findall(findImgSrc,item)[0]data.append(imgSrc)                         #添加圖片titles = re.findall(findTitle,item)     #片名可能只有一個中文名,沒有外文名if(len(titles)==2) :ctitle =titles[0]                   #中文名的標題data.append(ctitle)otitle = titles[1].replace("/","")  #去掉無關的符號data.append(otitle)                 #添加外國名else:data.append(titles[0])              #將第一個中文名填入data.append(' ')                    #留空,用于占據外國名的位置,防止位置不對稱rating = re.findall(findRating,item)[0]data.append(rating)                     #添加評分judgeNum = re.findall(findJudge,item)[0]data.append(judgeNum)                   #添加評價人數inq = re.findall(findIng,item)#(不一定每個電影都有概述)if len(inq) !=0:inq=inq[0].replace("。","")      #去掉句號data.append(inq)                        #添加概述else:data.append(" ")                  #留空bd = re.findall(findBd,item)[0]bd = re.sub('<br(\s+)?/>(\s+)?'," ",bd)      #去掉<br/>bd = re.sub('/'," ",bd)                 #替換/data.append(bd.strip())                 #去掉前后的空格datalist.append(data)                   #把處理好的一部電影信息放入datalist#print(datalist)return datalist      #返回數據列表#得到指定一個url的網頁內容
def askURL(url):#head作用是為了讓對方自己是瀏覽器,模擬瀏覽器頭部信息,向豆瓣服務器發送消息#head信息一定不要寫錯,否則會返回否碼為418,對方不認為我們是瀏覽器head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}               #如果信息不多的話,可以使用鍵值對的方式,若很多的話可以使用列表的方式head=[]#用戶代理。表示告訴豆瓣服務器。我們是什么類型的機器。瀏覽器(本質上是告訴瀏覽器。我們可以接收什么水平的文件內容)#發送消息使用下方方式request = urllib.request.Request(url=url, headers=head)  # 構建的是請求對象,使用Request()封裝了請求對象,此對象包含url和head頭部信息#可以攜帶頭部信息訪問url,try:response = urllib.request.urlopen(request)          #發送請求對象,返回一個response對象,此對象包含我們的網頁信息html = response.read().decode("utf-8")              #將讀取的html界面讀取出來#print(html)                                        #打印獲取的網頁except urllib.error.URLError as e:                      #訪問時可能會遇到404遇到一些瀏覽器內部錯誤,如500等if hasattr(e,"code"):                   #將里面的如404等code打印出來print(e.code)if hasattr(e, "reason"):                #將產生的錯誤的原因打印出來print(e.reason)return html#保存數據
def savaData(datalist,savapath):book = xlwt.Workbook(encoding="utf-8",style_compression=0)  # 創建workbook對象(可以理解為一個文件),style_compression樣式壓縮效果sheet = book.add_sheet('豆瓣電影Top250',cell_overwrite_ok=True)  # 創建工作表,可理解為文件中的表單,cell_overwrite_ok是否覆蓋掉以前的內容col = ('電影詳情鏈接',"圖片鏈接","影片中文名","影片外國名","評分","評價數","概況","相關信息")for i in range(0,8):sheet.write(0,i,col[i])     #列名for i in range(0,250):print("第%d條"%(i+1))data = datalist[i]for j in range(0,8):sheet.write(i+1,j,data[j])      #數據book.save(savapath)  # 保存數據表到硬盤if __name__ == "__main__":          #當程序執行時#調用函數main()print("爬取完畢!")

(3)excel保存結果

以下為爬蟲的Excel保存版本的結果
在這里插入圖片描述

2,保存數據到sqlite

2.1 sqlite數據庫

在這里插入圖片描述

在這里插入圖片描述

一定注意下方的可能標紅,要選擇下載驅動文件
在這里插入圖片描述

確定后如下
在這里插入圖片描述

右側的數據庫管理窗口圖形平臺,不弱于任何一個圖形化的數據庫管理工具

2.2 創建表

Sqlite數據庫的存儲類型非常少

#-*- codeing = utf-8 -*- 
#@Time : 2020/11/23 18:27
#@Author : 招財進寶
#@File : testSqlite.py
#@Software: PyCharmimport sqlite3      #在python3后默認支持的庫# conn = sqlite3.connect("test.db")       #連接數據庫文件,若當前路徑下無就建立()
# print("opened database successfully")conn = sqlite3.connect("test.db")       #連接數據庫文件,若當前路徑下無就建立()
print("成功打開數據庫")c = conn.cursor()       #獲取游標,操作數據庫的對象,里面有個方法execute可以執行SQL語句#單個’是字符,兩個“”是字符串,三個'''是段落(多行字符串)
sql ='''create table company(id int primary key not null,name text not null,age int noy null,address char(50),salary real);
'''c.execute(sql)          #執行SQL語句
conn.commit()           #提交數據庫操作(讓sql語句真正生效)
conn.close()            #關閉數據庫連接print("成功建表")

上面程序運行成功后

在這里插入圖片描述
在這里插入圖片描述

2.3 插入數據

可以直接在上面添加數據

在這里插入圖片描述

#3.插入數據
conn = sqlite3.connect("test.db")       #連接數據庫文件,若當前路徑下無就建立()
print("成功打開數據庫")c = conn.cursor()       #獲取游標,操作數據庫的對象,里面有個方法execute可以執行SQL語句#單個’是字符,兩個“”是字符串,三個'''是段落(多行字符串)
sql1 ='''insert into company (id, name, age, address, salary)values (1,'張三',32,"成都",8000)
'''sql2 ='''insert into company (id, name, age, address, salary)values (2,'李四',30,"重慶",15000)
'''c.execute(sql1)          #執行SQL語句
c.execute(sql2)          #執行SQL語句
conn.commit()           #提交數據庫操作(讓sql語句真正生效)
conn.close()            #關閉數據庫連接print("數據插入完畢")

在這里插入圖片描述

在這里插入圖片描述

2.4 查詢數據

#4.查詢數據
conn = sqlite3.connect("test.db")       #連接數據庫文件,若當前路徑下無就建立()
print("成功打開數據庫")c = conn.cursor()       #獲取游標,操作數據庫的對象,里面有個方法execute可以執行SQL語句#單個’是字符,兩個“”是字符串,三個'''是段落(多行字符串)
sql ="select id,name,address,salary from company"           #將里面的所有字段的數據查找出來cursor = c.execute(sql)          #執行SQL語句,會有返回值,使用cursor接收for row in cursor:print("id=",row[0])print("name=", row[1])print("address=", row[2])print("salary=", row[3],"\n")conn.close()            #關閉數據庫連接(因為是查詢不需要提交,直接關閉數據庫)print("數據查詢完畢")
G:\AILearning\AID2002\venv\Scripts\python.exe "G:/Python Project/shixun/test/testSqlite.py"
成功打開數據庫
id= 1
name= 張三
address= 成都
salary= 8000.0 id= 2
name= 李四
address= 重慶
salary= 15000.0 數據查詢完畢Process finished with exit code 0

2.5 保存數據到數據庫db文件

#保存數據到數據庫db文件
def savaData2DB(datalist, dbpath):#datalist是一條一條的電影信息,每個電影信息是一個列表,要將每條信息生成一個SQL語句init_db(dbpath)conn = sqlite3.connect(dbpath)  # dbpath連接存在就是連接,不存在就是創建cur = conn.cursor()  # 獲取游標,操作數據庫的對象,里面有個方法execute可以執行SQL語句#一條電影信息[['https://movie.douban.com/subject/1292052/', 'https://img2.doubanio.com/view/photo/s_ratio_poster/public/p480747492.jpg', '肖申克的救贖', '\xa0\xa0The Shawshank Redemption', '9.7', '2192734', '希', '導演: 弗蘭克·德拉邦特 Frank Darabont\xa0\xa0\xa0主演: 蒂姆·羅賓斯 Tim Robbins  ... 1994\xa0 \xa0美國\xa0 \xa0犯罪 劇情']# sql1 ='''#     insert into company (id, name, age, address, salary)#     values (1,'張三',32,"成都",8000)# '''for data in datalist:for index in range(len(data)):#注意要加入雙引號進行sql語句的拼寫data[index] = '"'+data[index]+'"'sql = '''insert into movie250(info_link,pic_link,cname,ename,score,rated,instroduction,info)values(%s)'''%",".join(data)    #將data每個中間用逗號連接,%是占位符,將后面的語句舔不到前面的%sprint(sql)              #測試SQL語句是否正確#         cur.execute(sql)#         conn.commit()# cur.close()# conn.close()

(1)測試SQL語句是否拼接正確,看打印如下

insert into movie250(info_link,pic_link,cname,ename,score,rated,instroduction,info)values("https://movie.douban.com/subject/1292052/","https://img2.doubanio.com/view/photo/s_ratio_poster/public/p480747492.jpg","肖申克的救贖","  The Shawshank Redemption","9.7","2193990","希望讓人自由","導演: 弗蘭克·德拉邦特 Frank Darabont   主演: 蒂姆·羅賓斯 Tim Robbins  ... 1994   美國   犯罪 劇情")insert into movie250(info_link,pic_link,cname,ename,score,rated,instroduction,info)values("https://movie.douban.com/subject/1291546/","https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2561716440.jpg","霸王別姬"," ","9.6","1627621","風華絕代","導演: 陳凱歌 Kaige Chen   主演: 張國榮 Leslie Cheung   張豐毅 Fengyi Zha... 1993   中國大陸 中國香港   劇情 愛情 同性")

(2)將打印出的SQL語句直接放在database執行判斷是否成功,注意在最后的)后面不要有空格
在這里插入圖片描述

(3)刪除db文件

在這里插入圖片描述

(4)注意要在此處進行SQL語句的調試,調試后的語句如下,不能全是字符串,應該有的變成數值類型

insert into movie250(info_link,pic_link,cname,ename,score,rated,instroduction,info)  values("https://movie.douban.com/subject/1307106/","https://img3.doubanio.com/view/photo/s_ratio_poster/public/p958008320.jpg","無間道2","  無間道II",8.6,303304," ","導演: 劉偉強   麥兆輝   主演: 陳冠希   余文樂   曾志偉 2003   中國香港   動作 犯罪 劇情 驚悚")

在這里插入圖片描述

在這里插入圖片描述

(5)此時爬取成功,保存到數據庫如下
在這里插入圖片描述

2.6 完整代碼spider.py

#-*- codeing = utf-8 -*- 
#@Time : 2020/11/20 11:08
#@Author : 招財進寶
#@File : spider.py
#@Software: PyCharmfrom bs4  import  BeautifulSoup       #網頁解析,獲取數據
import re           #正則表達式,進行文字匹配
import urllib.request,urllib.error          #指定url,獲取網頁數據
import xlwt         #進行Excel操作
import sqlite3       #進行SQLite操作def main():baseurl = "https://movie.douban.com/top250?start="#1.爬取網頁datalist = getData(baseurl)#3.保存數據#保存到Excel#savapath = "豆瓣電影TOP250.xls"#savaData(datalist,savapath)#3.保存到數據庫db中去dbpath = "movie.db"savaData2DB(datalist, dbpath)#askURL("https://movie.douban.com/top250?start=0")#影片詳情鏈接的規則
findLink = re.compile(r'a href="(.*?)">')         #生成正則表達式對象,表示規則(字符串的模式),用來匹配所有的鏈接
#影片 圖片的鏈接
findImgSrc = re.compile(r'<img.*src="(.*?)"',re.S)  #re.S忽略里面的換行符,讓換行符包含在字符中
#影片片名
findTitle = re.compile(r'<span class="title">(.*)</span>')
#影片的評分
findRating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
#找到評價人數
findJudge =  re.compile(r'<span>(\d*)人評價</span>')
#找到概況
findIng = re.compile(r'<span class="inq">(.*)</span>')
#找到影片的相關內容
findBd = re.compile(r'<p class="">(.*?)</p>',re.S)   #re.S忽略里面的換行符,讓換行符包含在字符中#爬取網頁
def getData(baseurl):datalist=[]for i in range(0,10):               #此處是爬取10頁是數據,每頁有25個電影數據((0,10)左閉,右開)url = baseurl + str(i*25)       #每一頁的url后的起始位置=頁數*25html = askURL(url)              #保存獲取到的網頁源碼# 2.逐一解析數據(每個網頁解析一下)soup = BeautifulSoup(html,"html.parser")     #使用html解析器html.parser解析html# find_all()查找符合要求的字符串,形成列表for item in soup.find_all('div',class_="item"):      #class是個類別需要加下劃線,將及時div又是class_="item"的標簽找到#print(item)    #測試:查看電影item全部信息#print(type(item))data=[]         #保存一部電影的所有信息item = str(item)    #str將item變成字符串#print(item)#print(type(item))#break              #用來測試第一條item#接下來可以使用正則表達式對字符串進行解析了#影片詳情的鏈接link = re.findall(findLink,item)[0]         #re庫用來通過正則表達式查找指定的字符串,獲取兩個相同的鏈接中的第一個#print(link)data.append(link)                           #添加鏈接imgSrc = re.findall(findImgSrc,item)[0]data.append(imgSrc)                         #添加圖片titles = re.findall(findTitle,item)     #片名可能只有一個中文名,沒有外文名if(len(titles)==2) :ctitle =titles[0]                   #中文名的標題data.append(ctitle)otitle = titles[1].replace("/","")  #去掉無關的符號data.append(otitle)                 #添加外國名else:data.append(titles[0])              #將第一個中文名填入data.append(' ')                    #留空,用于占據外國名的位置,防止位置不對稱rating = re.findall(findRating,item)[0]data.append(rating)                     #添加評分judgeNum = re.findall(findJudge,item)[0]data.append(judgeNum)                   #添加評價人數inq = re.findall(findIng,item)#(不一定每個電影都有概述)if len(inq) !=0:inq=inq[0].replace("。","")      #去掉句號data.append(inq)                        #添加概述else:data.append(" ")                  #留空bd = re.findall(findBd,item)[0]bd = re.sub('<br(\s+)?/>(\s+)?'," ",bd)      #去掉<br/>bd = re.sub('/'," ",bd)                 #替換/data.append(bd.strip())                 #去掉前后的空格datalist.append(data)                   #把處理好的一部電影信息放入datalist#print(datalist)return datalist      #返回數據列表#得到指定一個url的網頁內容
def askURL(url):#head作用是為了讓對方自己是瀏覽器,模擬瀏覽器頭部信息,向豆瓣服務器發送消息#head信息一定不要寫錯,否則會返回否碼為418,對方不認為我們是瀏覽器head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}               #如果信息不多的話,可以使用鍵值對的方式,若很多的話可以使用列表的方式head=[]#用戶代理。表示告訴豆瓣服務器。我們是什么類型的機器。瀏覽器(本質上是告訴瀏覽器。我們可以接收什么水平的文件內容)#發送消息使用下方方式request = urllib.request.Request(url=url, headers=head)  # 構建的是請求對象,使用Request()封裝了請求對象,此對象包含url和head頭部信息#可以攜帶頭部信息訪問url,try:response = urllib.request.urlopen(request)          #發送請求對象,返回一個response對象,此對象包含我們的網頁信息html = response.read().decode("utf-8")              #將讀取的html界面讀取出來#print(html)                                        #打印獲取的網頁except urllib.error.URLError as e:                      #訪問時可能會遇到404遇到一些瀏覽器內部錯誤,如500等if hasattr(e,"code"):                   #將里面的如404等code打印出來print(e.code)if hasattr(e, "reason"):                #將產生的錯誤的原因打印出來print(e.reason)return html#保存數據到Excel
def savaData(datalist,savapath):book = xlwt.Workbook(encoding="utf-8",style_compression=0)  # 創建workbook對象(可以理解為一個文件),style_compression樣式壓縮效果sheet = book.add_sheet('豆瓣電影Top250',cell_overwrite_ok=True)  # 創建工作表,可理解為文件中的表單,cell_overwrite_ok是否覆蓋掉以前的內容col = ('電影詳情鏈接',"圖片鏈接","影片中文名","影片外國名","評分","評價數","概況","相關信息")for i in range(0,8):sheet.write(0,i,col[i])     #列名for i in range(0,250):print("第%d條"%(i+1))data = datalist[i]for j in range(0,8):sheet.write(i+1,j,data[j])      #數據book.save(savapath)  # 保存數據表到硬盤#保存數據到數據庫db文件
def savaData2DB(datalist, dbpath):#datalist是一條一條的電影信息,每個電影信息是一個列表,要將每條信息生成一個SQL語句init_db(dbpath)conn = sqlite3.connect(dbpath)  # dbpath連接存在就是連接,不存在就是創建cur = conn.cursor()  # 獲取游標,操作數據庫的對象,里面有個方法execute可以執行SQL語句#一條電影信息[['https://movie.douban.com/subject/1292052/', 'https://img2.doubanio.com/view/photo/s_ratio_poster/public/p480747492.jpg', '肖申克的救贖', '\xa0\xa0The Shawshank Redemption', '9.7', '2192734', '希', '導演: 弗蘭克·德拉邦特 Frank Darabont\xa0\xa0\xa0主演: 蒂姆·羅賓斯 Tim Robbins  ... 1994\xa0 \xa0美國\xa0 \xa0犯罪 劇情']# insert into movie250(info_link,pic_link,cname,ename,score,rated,instroduction,info)# values("https://movie.douban.com/subject/1307106/",#        "https://img3.doubanio.com/view/photo/s_ratio_poster/public/p958008320.jpg",#        "無間道2",#        "  無間道II",#        8.6,#        303304,#        " ",#        "導演: 劉偉強   麥兆輝   主演: 陳冠希   余文樂   曾志偉 2003   中國香港   動作 犯罪 劇情 驚悚")for data in datalist:for index in range(len(data)):#注意要加入雙引號進行sql語句的拼寫#當下標為4,5(score,rated)時,插入的類型應該是數值類型的(當遇到數值類型的不需要加雙引號,跳過保持原來的即可)if index==4 or index==5:continuedata[index] = '"'+data[index]+'"'sql = '''insert into movie250(info_link,pic_link,cname,ename,score,rated,instroduction,info)values(%s)'''%",".join(data)    #將列表data每個中間用逗號連接,%是占位符,將后面的語句舔不到前面的%sprint(sql)              #測試SQL語句是否正確cur.execute(sql)conn.commit()cur.close()conn.close()#創建初始化數據庫
def init_db(dbpath):sql  = '''create table movie250           (id integer primary key autoincrement,info_link text,pic_link text,cname varchar,ename varchar,score numeric,rated numeric,instroduction text,info text);'''       #創建數據表conn = sqlite3.connect(dbpath)          #dbpath連接存在就是連接,不存在就是創建cursor = conn.cursor()       #獲取游標,操作數據庫的對象,里面有個方法execute可以執行SQL語句cursor.execute(sql)conn.commit()               #提交數據庫操作conn.close()                #關閉數據庫連接if __name__ == "__main__":          #當程序執行時#調用函數main()#init_db("movietest.db")        #測試初始化是否正確print("爬取完畢!")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40968.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40968.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40968.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL表的增刪改查(CRUD)

MySQL表的增刪改查&#xff08;CRUD&#xff09; 文章目錄 MySQL表的增刪改查&#xff08;CRUD&#xff09;1. Create1.1 單行數據 全列插入1.2 多行數據 指定列插入1.3 插入否則更新1.4 替換 2. Retrieve2.1 SELECT 列2.1.1 全列查詢2.1.2 指定列查詢2.1.3 查詢字段為表達式…

中介子方程四十七

XXFXXaXnXaXXαXLXyXXWXuXeXKXXiXyXΣXXΣXXVXuXhXXWXηXWXXhXuXVXXΣXXΣXyXiXXKXeXuXWXXyXLXαXXaXnXaXXFXXaXnXaXXαXLXyXXWXuXeXKXXiXyXΣXXΣXXVXuXhXXWXηXWXXhXuXVXXΣXXΣXyXiXXKXeXuXWXXyXLXαXXaXnXaXXFXXuXXWXXuXXdXXrXXαXXuXpXXKXηXiXXnXXyXηXuXXrXXaXnXXαXLXy…

采用Java語言+開發工具 Idea+ scode數字化產科管理平臺源碼,產科管理新模式

采用Java語言開發工具 Idea scode數字化產科管理平臺源碼&#xff0c;產科管理新模式 數字化產科管理系統是現代醫療信息化建設的重要組成部分&#xff0c;它利用現代信息技術手段&#xff0c;對孕產婦的孕期管理、分娩過程及產后康復等各個環節進行數字化、智能化管理&#xf…

使用LoFTR模型進行圖像配準、重疊區提取

LoFTR模型源自2021年CVPR提出的一篇論文LoFTR: Detector-Free Local Feature Matching with Transformers&#xff0c;其基于pytorch實現圖像配準&#xff0c;與基于superpointsuperglue的方法不同&#xff0c; 是一個端到端的圖像配準方法。與LoFTR官方庫相關的有loftr2onnx庫…

面試專區|【52道微服務架構高頻題整理(附答案背誦版)】

簡述什么是微服務&#xff1f; 微服務是一種軟件架構風格&#xff0c;它將應用程序拆分成一系列小型、獨立的服務&#xff0c;每個服務都運行在其自己的進程中&#xff0c;通過輕量級通信機制進行通信。每個服務都具有明確的業務能力&#xff0c;并且可以獨立開發、測試、部署…

Android在framework層添加自定義服務的流程

環境說明 ubuntu16.04android4.1java version “1.6.0_45”GNU Make 3.81gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 可能有人會問&#xff0c;現在都2024了怎么還在用android4版本&#xff0c;早都過時了。確實&#xff0c;現在最新的都是Android13、And…

墨烯的C語言技術棧-C語言基礎-007

七.字符串 由雙引號引起的一串字符稱為字符串字面值,或者簡稱字符串 字符串的結束標志是"\0" int main() { //#qWer$ //char 字符類型 //a; //char ch "w"; //字符串 //C語言中沒有字符串類型 "abcdefg"; char arr1[] "abc…

柯橋職場英語學習商務英語口語生活英語培訓生活口語學習

辣妹用英語怎么說&#xff1f; 辣妹在英語中通常被翻譯為“hot girl”或“spicy girl”&#xff0c;但更常見和直接的是“hot chick”或簡單地使用“hot”來形容。 舉個例子: Shes a real hot girl with her trendy outfit and confident attitude. 她真是個辣妹&#xff0…

Redis---10---SpringBoot集成Redis

SpringBoot集成Redis 總體概述jedis-lettuce-RedisTemplate三者的聯系 本地Java連接Redis常見問題&#xff0c;注意 bind配置請注釋掉? 保護模式設置為no? Linux系統的防火墻設置? redis服務器的IP地址和密碼是否正確? 忘記寫訪問redis的服務端口號和auth密碼集成Jedis …

Docker:Docker網絡

Docker Network 是 Docker 平臺中的一項功能&#xff0c;允許容器相互通信以及與外界通信。它提供了一種在 Docker 環境中創建和管理虛擬網絡的方法。Docker 網絡使容器能夠連接到一個或多個網絡&#xff0c;從而使它們能夠安全地共享信息和資源。 預備知識 推薦先看視頻先有…

最長公共子序列求長度和輸出子序列C代碼

求兩個字符串的公共子序列我們都知道需要使用用動態規劃思想 用res[i][j]表示截止到字符串A的第i個字符串和截止到字符串B的第j個字符的最長公共子序列。如兩個字符串helloworld和loop&#xff0c;res[5][3]表示子串hello和子串loo的最長公共子序列&#xff0c;為lo&#xff0…

2024機器人科研/研發領域最新研究方向崗位職責與要求

具身智能工程師 從事具身智能領域的技術研究或產品開發&#xff0c;制定具身智能技術標準&#xff0c;利用大模型技術來提高機器人的智能化水平&#xff0c;研究端云協同的機器人系統框架&#xff0c;并賦能人形/復合等各類形態的機器人。具體內容包括不限于&#xff1a; 1、負…

maven項目使用netty,前端是vue2,實現通訊

引入的java包 <!-- 以下是即時通訊--><!-- Netty core modules --><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.76.Final</version> <!-- 使用最新的穩定版本…

C++初學者指南-4.診斷---地址檢測器

C初學者指南-4.診斷—地址檢測器 幻燈片 地址檢測器&#xff08;ASan&#xff09; 適用編譯器g,clang檢測內存錯誤 內存泄露訪問已經釋放的內存訪問不正確的堆棧區域 用額外的指令檢測代碼 運行時間增加約70%內存使用量大約增加了3倍 示例&#xff1a;檢測空指針 使用地址…

中英雙語介紹百老匯著名歌劇:《貓》(Cats)和《劇院魅影》(The Phantom of the Opera)

中文版 百老匯著名歌劇 百老匯&#xff08;Broadway&#xff09;是世界著名的劇院區&#xff0c;位于美國紐約市曼哈頓。這里匯集了許多著名的音樂劇和歌劇&#xff0c;吸引了全球各地的觀眾。以下是兩部百老匯的經典音樂劇&#xff1a;《貓》和《劇院魅影》的詳細介紹。 1.…

CP AUTOSAR標準之RAMTest(AUTOSAR_CP_SWS_RAMTest)(更新中……)

1 簡介和功能概述 AUTOSAR基礎軟件模塊“RAM測試”的功能、API和配置。 ??RAM測試是對RAM單元的物理健康狀況的測試。它不是為了測試RAM的內容。用于寄存器的RAM也經過測試。 ??在本文檔中,RAM單元被理解為內存單位,可由處理器單獨尋址。因此,對于16位處理器,單元大小(…

拉普拉斯逆變換

https://www.bilibili.com/video/BV17i4y1475Y?p21&vd_source2e6b4ba548ec9462b2f9633ff700e9b9 CV 17 陳永平教授關于拉普拉斯逆變換的式子的推導 最關鍵的兩步 想到取一個合適的contour L R L_R LR?部分是實部 γ \gamma γ要大于所有極點的實部,這樣就可以搞一個大…

SCI二區TOP|麋鹿群優化算法: 一種新穎的受自然啟發的元啟發式算法

目錄 1.背景2.算法原理2.1算法思想2.2算法過程 3.結果展示4.參考文獻5.代碼獲取 1.背景 2024年&#xff0c;SO Oladejo受到麋鹿群的繁殖過程啟發&#xff0c;提出了麋鹿群優化算法&#xff08;Elk herd optimizer, EHO&#xff09;。 2.算法原理 2.1算法思想 EHO靈感來自麋鹿…

設計外包管理辦法和步驟之HMI

設計外包流程和步驟之人機界面HMI, Human-Machine Interface 1. 源由2. 流程&步驟2.1 明確需求2.2 尋找外包公司2.3 簽訂合同2.4 項目啟動2.5 設計過程2.6 迭代開發2.7 驗收和交付2.8 維護和支持 3. 工具和平臺推薦4. 總結5. 補充 - 需求、交付、驗收5.1 需求5.2 交付5.3 驗…

C語言編程與進階

1.0 C語言關鍵字 1-1C語言關鍵字-CSDN博客文章瀏覽閱讀831次&#xff0c;點贊13次&#xff0c;收藏24次。define使用define定義常量return 0;使用define定義宏// define 定義宏&#xff0c;名字是ADD(x,y),x y 是宏的參數int a 10;int b 20;return 0;宏定義的本質是替換&am…