成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Python連接MySQL數據庫

數據庫 后端
本篇文章使用python中的pymysql庫連接MySQL數據庫,并完成建表,數據寫入和查詢的過程。為了保證內容的完整性,我們將內容分為兩個 階段,第一階段簡單介紹數據的爬取過程。看過之前爬蟲文章的同學請直接忽略。第二階段介紹將爬去的數據寫入MySQL數據庫的過程。

本篇文章使用python中的pymysql庫連接MySQL數據庫,并完成建表,數據寫入和查詢的過程。為了保證內容的完整性,我們將內容分為兩個 階段,***階段簡單介紹數據的爬取過程。看過之前爬蟲文章的同學請直接忽略。第二階段介紹將爬去的數據寫入MySQL數據庫的過程。

使用Python連接MySQL數據庫

1,使用python抓取并提取數據

***階段介紹數據爬取過程,首先導入所需的庫文件,主要包括requests,re和pandas三個庫。具體作用在注釋中進行了說明,這里不再贅述。

  1. #導入requests庫(請求和頁面抓取) 
  2. import requests 
  3. #導入正則庫(從頁面代碼中提取信息) 
  4. import re 
  5. #導入科學計算庫(拼表及各種分析匯總) 
  6. import pandas as pd 

設置爬取請求中的頭文件信息。

  1. #設置請求中頭文件的信息 
  2. headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64  
  3. Safari/537.11', 
  4. 'Accept':'text/html;q=0.9,*/*;q=0.8'
  5. 'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
  6. 'Connection':'close'
  7. 'Referer':'https://www.baidu.com/' 

開始抓取數據,并查看抓取到的網頁內容。這里我們所需要的數據還在頁面源碼中,需要使用正則表達式進行提取。

  1. #抓取并保存頁面信息 
  2. r=requests.get('http://www.p2peye.com/shuju/ptsj/',headers=headers) 
  3. html=r.content 
  4. #對抓取的頁面進行編碼 
  5. html=str(html, encoding = "GBK"
  6. #查看抓取的頁面源碼 
  7. html 

 

使用Python連接MySQL數據庫

使正則表達式從抓取到的網頁源碼中提取所需數據。這里我們一共提取9個字段。

  1. #使用正則提取title字段信息 
  2. title=re.findall(r'"return false".*?title="(.*?)"',html) 
  3. #使用正則提取total字段信息 
  4. total=re.findall(r'"total">(.*?)萬<',html) 
  5. #使用正則提取rate字段信息 
  6. rate=re.findall(r'"rate">(.*?)<',html) 
  7. #使用正則提取pnum字段信息 
  8. pnum=re.findall(r'"pnum">(.*?)人<',html) 
  9. #使用正則提取cycle字段信息 
  10. cycle=re.findall(r'"cycle">(.*?)月<',html) 
  11. #使用正則提取plnum字段信息 
  12. p1num=re.findall(r'"p1num">(.*?)人<',html) 
  13. #使用正則提取fuload字段信息 
  14. fuload=re.findall(r'"fuload">(.*?)分鐘<',html) 
  15. #使用正則提取alltotal字段信息 
  16. alltotal=re.findall(r'"alltotal">(.*?)萬<',html) 
  17. #使用正則提取captial字段信息 
  18. capital=re.findall(r'"capital">(.*?)萬<',html) 

查看其中一個字段的信息,這里我們查看平臺名稱title的提取結果。

  1. #查看title字段信息 
  2. title 

 

使用Python連接MySQL數據庫

到這里***階段的數據爬取工作完成了,現在我們有9個字段的數據,在下一階段中我們將連接MySQL數據庫,并將這9個字段的數據寫到數據庫里。

2,連接MySQL數據庫寫入并讀取數據

在第二階段,我們使用python的pymysql庫連接MySQL數據庫。如果你是***次使用這個庫需要先通過pip install pymysql進行安裝,然后導入pymysql庫文件。

  1. #導入pymysql庫 
  2. import pymysql 

首先連接MySQL數據庫,這里需要輸入數據庫的ip地址,用戶名,密碼,數據庫名稱,端口號等信息。我在這里只簡單些了ip地址,用戶名和數據庫名稱。每個參數的內容請按你數據庫的實際信息進行填寫。

  1. #打開數據庫連接 
  2. db = pymysql.connect("192.168.0.1","root","","shuju_test" ) 

使用 cursor()創建一個游標對象

  1. # 使用 cursor() 方法創建一個游標對象 cursor 
  2. cursor = db.cursor() 

在數據庫中創建一個包含9個字段的數據表,用于寫入數據。這里具體分為兩步,***步寫出創建數據表的SQL語句。第二步使用execute()執行SQL語句

  1. #創建一個表 
  2. sql1 = "CREATE TABLE wdty7( title varchar(255), total varchar(255), rate varchar(255), people_num varchar(255), cycle  
  3. varchar(255), people_lend_num varchar(255), full_load varchar(255), all_total varchar(255), capital varchar(255)) " 
  4.   
  5. # 使用 execute() 方法執行 SQL 語句 
  6. cursor.execute(sql1) 

 

使用Python連接MySQL數據庫

創建完數據表后,開始寫入數據,這里我們使用for循環向數據表中逐條寫入9個字段的數據。

  1. #向表中創建新的記錄 
  2. for i in range(len(title)): 
  3. sql="INSERT INTO `wdty6`(`title`, `total`, `rate`, `people_num`, `cycle`, `people_lend_num`, `full_load`, `all_total`,  
  4. `capital`)VALUES ( %s, %s, %s, %s, %s, %s, %s, %s, %s);" 
  5. values=(title[i].encode("utf-7").decode("latin1"),total[i],rate[i],pnum[i],cycle[i],p1num[i],fuload[i],alltotal  
  6. [i],capital[i]) 
  7. cursor.execute(sql,values
  8. db.commit() 

創建一個查詢語句并使用execute()方法執行查詢。

  1. #設置查詢語句 
  2. sql1="SELECT * FROM wdty6 where cycle>0.6;" 
  3.   
  4. # 使用 execute() 方法執行 SQL 查詢  
  5. cursor.execute(sql1) 

 

使用Python連接MySQL數據庫

使用fetchall()獲取剛才寫入的所有9個字段的數據,并保存在data中。

  1. #使用fetchall()方法獲取所有數據 
  2. data = cursor.fetchall() 

將data中的數據轉為pandas的DataFrame格式。

  1. #將獲取數據 
  2. import pandas as pd 
  3. columns=["title""total""rate""people_num""cycle""people_lend_num""full_load""all_total""capital"
  4. df = pd.DataFrame(list(data),columns=columns) 

查看從數據庫中提取的數據,這里有個問題,平臺名稱title字段中的中文在寫入數據庫后變成了亂碼,應該是編碼轉換的問題。目前還沒有找到解決辦法。如有知道解決辦法的朋友請賜教。

 

  1. #查看數據表  
  2. df.head() 

 

使用Python連接MySQL數據庫

***,完成所有操作后關閉數據庫的連接。

 

  1. # 關閉數據庫連接 
  2. db.close() 
責任編輯:未麗燕 來源: 藍鯨的網站分析筆記
相關推薦

2021-08-02 10:53:28

PythonMySQL數據庫

2024-01-02 08:47:42

2020-09-22 15:56:31

Java

2011-05-26 13:42:50

MFC連接MySql數據庫

2010-10-12 16:55:50

MYSQL命令行

2017-06-22 14:13:07

PythonMySQLpymysqlpool

2009-07-06 17:23:34

JDBC連接數據庫

2011-03-16 17:14:17

JavaBean數據庫

2010-06-07 15:24:34

Java連接MYSQL

2010-03-04 17:19:40

2010-05-26 09:44:41

MySQL數據庫使用

2011-07-05 10:16:16

Qt 數據庫 SQLite

2010-02-22 18:17:48

Python數據庫

2011-08-09 09:31:39

SQL Server數connectionS

2009-07-07 17:42:28

2010-06-04 09:33:28

連接MySQL數據庫

2009-11-24 16:48:15

PHP mysqli

2010-05-14 11:12:16

連接MySql

2010-10-12 12:00:42

MySQL連接

2020-11-23 14:16:42

Golang
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级中国毛片 | 男人的天堂在线视频 | 欧美视频一区 | 国产日韩欧美一区二区 | 一级毛片,一级毛片 | 久久久精品一区二区三区 | 国产成人啪免费观看软件 | 精品国产精品国产偷麻豆 | 在线播放一区二区三区 | 久久激情五月丁香伊人 | 色天天综合 | 91在线看片| 国产在线第一页 | 日韩一区二区三区在线播放 | 成人无遮挡毛片免费看 | 国产激情视频网 | 欧美日韩国产在线观看 | 亚洲精品国产区 | 日韩精品在线看 | 亚洲国产欧美一区 | 中文字幕一区二区三区四区 | 精品福利视频一区二区三区 | 365夜爽爽欧美性午夜免费视频 | 国产精品久久 | 国产一区二区在线视频 | 国产一区二区在线免费播放 | 一级毛片大全免费播放 | 日韩在线播放第一页 | 在线免费观看亚洲 | 欧美a级成人淫片免费看 | 欧美激情综合 | 日日摸日日爽 | 久久久国产一区 | 久久青 | 国产精品久久片 | 麻豆精品国产91久久久久久 | 亚洲日日夜夜 | 国产精品视频免费观看 | 亚洲日本乱码在线观看 | 国内精品久久久久 | 天天综合网7799精品 |