国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3爬蟲學習之MySQL數據庫存儲爬取的信息詳解

2020-01-04 13:51:15
字體:
來源:轉載
供稿:網友

本文實例講述了Python3爬蟲學習之MySQL數據庫存儲爬取的信息。分享給大家供大家參考,具體如下:

數據庫存儲爬取的信息(MySQL)

爬取到的數據為了更好地進行分析利用,而之前將爬取得數據存放在txt文件中后期處理起來會比較麻煩,很不方便,如果數據量比較大的情況下,查找更加麻煩,所以我們通常會把爬取的數據存儲到數據庫中便于后期分析利用。

這里,數據庫選擇MySQL,采用pymysql 這個第三方庫來處理python和mysql數據庫的存取,python連接mysql數據庫的配置信息

db_config ={  'host': '127.0.0.1',  'port': 3306,  'user': 'root',  'password': '',  'db': 'pytest',  'charset': 'utf8'}

以爬取簡書首頁文章標題以及url為例,先分析抓取目標信息,

Python3,爬蟲,MySQL,數據庫

如上圖,文章題目在a標簽中,且url(href)只含有后半部分,所以在存儲的時候,最好把它補全。

mysql:新建一個數據庫pytest,建立一張名為titles的表,表中字段分別為id(int自增),title(varchar),url(varchar),如下:

Python3,爬蟲,MySQL,數據庫

進行數據庫操作的思路為:獲得數據庫連接(connection)->獲得游標(cursor)->執行sql語句(execute)->事物提交(commit)->關閉數據據庫連接(close),具體代碼實現如下:

# -*- coding:utf-8 -*-from urllib import requestfrom bs4 import BeautifulSoupimport pymysql# mysql連接信息(字典形式)db_config ={  'host': '127.0.0.1',  'port': 3306,  'user': 'root',  'password': '',  'db': 'pytest',  'charset': 'utf8'}# 獲得數據庫連接connection = pymysql.connect(**db_config)# 數據庫配置,獲得連接(參數方式)# connection = pymysql.connect(host='127.0.0.1',#            port=3306,#            user='root',#            password='',#            db='pytest',#            charset='utf8')url = r'http://www.jianshu.com/'# 模擬瀏覽器頭headers = {  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}page = request.Request(url, headers=headers)page_info = request.urlopen(page).read().decode('utf-8')soup = BeautifulSoup(page_info, 'html.parser')urls = soup.find_all('a', 'title')try:  # 獲得數據庫游標  with connection.cursor() as cursor:    sql = 'insert into titles(title, url) values(%s, %s)'    for u in urls:      # 執行sql語句      cursor.execute(sql, (u.string, r'http://www.jianshu.com'+u.attrs['href']))  # 事務提交  connection.commit()finally:  # 關閉數據庫連接  connection.close()

代碼執行結果:

Python3,爬蟲,MySQL,數據庫

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玛多县| 阿克陶县| 重庆市| 通化市| 宾川县| 白朗县| 新乐市| 敦煌市| 时尚| 正宁县| 利津县| 靖远县| 扎囊县| 中卫市| 洛扎县| 东乌| 冀州市| 随州市| 隆化县| 双辽市| 三河市| 唐海县| 丰县| 临朐县| 徐州市| 常山县| 桂阳县| 彭阳县| 思南县| 济宁市| 上犹县| 东城区| 宁蒗| 永泰县| 望谟县| 光山县| 拉孜县| 永春县| 绥中县| 庆元县| 筠连县|