日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

维基百科 mysql_把维基百科首页词条的数据导入mysql【Python】

發布時間:2024/3/12 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 维基百科 mysql_把维基百科首页词条的数据导入mysql【Python】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

title: 把維基百科首頁詞條的數據導入mysql【Python】

date: 2016-09-13 0:59:28

tags:

1、此文是跟著上一篇來寫的,之前,已經完成了對維基百科詞條的數據采集工作。

2、本文和作者示范不同的地方是,建立數據庫和表格的工具我維持使用了sqlyog軟件,作者用的是哪個不確定,因為視頻看不清上面的名字。

3、代碼如下,已經有一定說明,原作者可沒提供代碼哦,請把password對應的密碼部分,從xxxx修改成你的真實數據庫密碼:

__author__ = 'Administrator'

# coding:utf-8

# 運行在python 3.5.2

import re

from urllib.request import urlopen

from bs4 import BeautifulSoup as bs

import pymysql.cursors

# 使用urllib的urlopen方法,去打開維基百科的首頁,讀取,并用utf-8解碼

resp = urlopen('https://en.wikipedia.org/wiki/Main_Page').read().decode('utf-8')

# 使用BeautifulSoup去解析,其中html.parser是默認的解析器

soup = bs(resp, 'html.parser')

# 獲取所有的/wiki/開頭的a標簽的href屬性。

listUrls = soup.find_all('a', href=re.compile(r'^/wiki/'))

print(listUrls)

# 輸出所有的詞條對應的名稱和URL

for url in listUrls:

# 排除.jpg JPG結尾的

if not re.search('\.(jpg|JPG)$', url['href']):

# 顯示名稱和網址的格式

# string只能顯示一個,而get_text()可顯示標簽下所有的文字。

print(url.get_text(), '', 'https://en.wikipedia.org'+url['href'])

# 得到數據庫的連接

connection = pymysql.connect(host='localhost',

user='root',

password='xxxx',

db='wikiurl',

charset='utf8'

)

try:

# 創建會話指針

with connection.cursor() as cursor:

# 創建sql語句

sql = 'insert into `urls` (`urlname`, `urlhref`) values(%s, %s)'

# 執行sql語句

cursor.execute(sql, (url.get_text(), 'https://en.wikipedia.org' + url['href']))

# 提交

connection.commit()

finally:

connection.close()

4、其中關鍵的步驟有:

A):sqlyog中表格的制作和設置,千萬注意,id的int類型,需要添加自增,否則運行程序會報錯: "Field 'id' doesn't have a default value

B)數據庫的插入和執行命令,因為不太熟悉,對著視頻敲代碼都錯誤了幾次,并且要注意以下代碼urls (urlname, urlhref)使用的是Tab鍵上面的那個上點號

C)當程序沒有報錯,在sqlyog查看表格要先刷新

D)在之前的帖子,是在python2.7下,通過sqlyog的import MySQLdb 來操作mysql的,并且,代碼中的密碼對應的是passwd,而這個和直接用python 運行pymysql的對應命令password是不同的,要分清楚。

5、結果圖,有一絲喜悅感:

總結

以上是生活随笔為你收集整理的维基百科 mysql_把维基百科首页词条的数据导入mysql【Python】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。