安装python库:
1、pip install pymysql
2、通过安装文件python setup.py install
将从维基百科爬取的词条存入mysql:
#引入开发包
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import pymysql.cursors
#请求URL并把结果用UTF-8编码
resp=urlopen("https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5").read().decode("utf-8")
#使用BeautifulSoup去解析
soup=BeautifulSoup(resp,"html.parser")
#print(soup)
#获取所有以/wiki/开头的a标签的href属性
listUrl=soup.findAll("a",href=re.compile("^/wiki/"))
#输出所有词条对应的名称和URL
for url in listUrl:
if not re.search("\.(jpg|JPG)$",url["href"]):
print(url.get_text(),"<----->","https://zh.wikipedia.org"+url["href"])
#获取数据库连接
connection=pymysql.connect(host='localhost',
user='root',
password='root',
db='wikiurl',
charset='utf8mb4')
try:
#获取会话指针
with connection.cursor() as cursor:
#创建sql语句
sql="insert into `urls`(`urlname`,`urlhref`) values(%s,%s)"
#执行sql语句
cursor.execute(sql,(url.get_text(),"https://zh.wikipedia.org"+url["href"]))
#提交
connection.commit()
finally:
connection.close()
cursor.execute() #得到总记录数
cursor.fetchone() #查询下一行
cursor.fetchmany(size=None) #得到指定大小
cursor.fetchall() #得到全部
用python查询数据库:
#导入开发包
import pymysql.cursors
#获取数据库连接
connection=pymysql.connect(host='localhost',
user='root',
password='root',
db='wikiurl',
charset='utf8mb4')
try:
#获取绘画指针
with connection.cursor() as cursor:
#查询语句
sql = "select `urlname`,`urlhref` from `urls` where `id` is not NULL"
#得到总记录数
count=cursor.execute(sql)
print(count)
#得到全部
#result1=cursor.fetchall()
#print(result1)
print("\n")
#得到三条数据
result2=cursor.fetchmany(size=3)
print(result2)
finally:
connection.close()