安裝MySQL。使用phpStudy集成工具來安裝MySQL服務器,或者能夠用USBwebserve進行安裝。php
打開USBwebserve,界面以下python
當Apache和Mysql都是綠色勾勾時,直接點擊PHPMyAdmin,進入界面:mysql
輸入賬號-密碼後點擊執行:web
MySQL安裝到此結束。sql
--------------------------------------數據庫
這邊採用的數據是爬取糗事百科,得到其用戶名及對應的糗事。輸出到終端,而且存到MySQL中。服務器
上代碼:工具
#-*- coding-8 -*- import pymysql import requests import lxml from bs4 import BeautifulSoup def craw(url,page = '1'): user_agent = 'Mozilla/4.0 (compatible; MISE 5.5; Windows NT)' headers = {'User_Agent':user_agent} url_text = requests.get(url,headers = headers) if url_text.status_code != 200: url_text.encoding = 'utf-8' print('ERROR') soup = BeautifulSoup(url_text.text,'lxml') contents = soup.select(r'.content') names = soup.find_all('h2') n = 1 conn = pymysql.connect(host='localhost',port=3307,user='root',password='usbw',db='toutiao',charset='utf8') conn.query(" CREATE TABLE data (name CHAR(20),content CHAR(30))") cursor = conn.cursor() for content,name in zip(contents,names): print('第%s趣事'%n) n += 1 name = name.get_text() content = content.get_text() print('用戶名:'+name+'內容:'+content) cursor.execute(" INSERT INTO data (name,content) VALUES('{0}','{1}')".format(name,content)) conn.commit() cursor.close() conn.close() if __name__ == '__main__': url = r'https://www.qiushibaike.com/' s1 = craw(url)
導入對應模塊,pymysql是python代碼操做MySQL數據庫的模塊,能夠經過pip install pymysql安裝pymysql模塊。編碼
import pymysql import requests import lxml from bs4 import BeautifulSoup
設置頭文件,requests請求訪問糗事百科,經過status_code返回的值能夠判斷請求是否成功若是返回的code不是200的話則說明訪問不成功(200請求成功,303從新定向,400請求錯誤,401未受權,403禁止訪問,404文件未找到,500服務器錯誤)。url
def craw(url,page = '1'): user_agent = 'Mozilla/4.0 (compatible; MISE 5.5; Windows NT)' headers = {'User_Agent':user_agent} url_text = requests.get(url,headers = headers) if url_text.status_code != 200: url_text.encoding = 'utf-8' print('ERROR')
而後使用BeautifulSoup進行解析,使用的是lxml解析器,提取出糗事百科網的用戶與對應的內容,分別用的是CSS選擇器和find_all方法。
soup = BeautifulSoup(url_text.text,'lxml') contents = soup.select(r'.content') names = soup.find_all('h2') n = 1
鏈接MySQL,host:主機ip,port:端口,user:用戶名,password:密碼,db:數據庫名稱,charset:編碼。經過query執行後面的SQL語句,而後建立一個表table和一個遊標curser。
conn=pymysql.connect(host='localhost',port=3307,user='root',password='usbw',db='toutiao',charset='utf8') conn.query(" CREATE TABLE data (name CHAR(20),content CHAR(100))") cursor = conn.cursor()
用for語句,逐一輸出到終端顯示,利用遊標curser執行後面的SQL語句,插入對應的用戶與數據,而後commit()提交事務,關閉遊標,關閉數據庫連接。
for content,name in zip(contents,names): print('第%s趣事'%n) n += 1 name = name.get_text() content = content.get_text() print('用戶名:'+name+'內容:'+content) cursor.execute(" INSERT INTO data (name,content)VALUES('{0}','{1}')".format(name,content)) conn.commit() cursor.close() conn.close()
在輸出時,發現會遇到各類編碼問題,在這裏說一下解決方法:
一、找到pymysql模塊的目錄,通常位於....\python\Lib\site-packages\pymysql裏的connections.py的文件,用編譯器打開,搜索關鍵詞「charset=」,將編碼格式改成"utf8"。
二、在phpadmin控制面板中,點擊「數據庫-(對應的表)-結構-(勾選相應的欄)-修改-整理處改成utf-8」,具體以下: