1. 程式人生 > >如何用 python 優雅地完成數據庫課設 (施工ing)

如何用 python 優雅地完成數據庫課設 (施工ing)

from 文本 height ODB 端口 environ 不用 google 令行

0 前言

偶然間發現 Google 收錄了學校實驗打卡系統的接口,正好要做數據庫課設,便拿來作為 environment。
機房居然裝了 python ,早就聽說 python 寫爬蟲速度一流,課上的 DDL 做完也閑,便決定用 python 完成這次數據庫課設。

1 爬蟲

1.1 HTTP 訪問

爬蟲訪問網頁需要 import 一個 HTTP 訪問包,由於接口過於簡單,直接 GET 請求即可得到數據,連 COOKIES 都不用,直接用 urllib 即可。

url="yoururladdress"
req=urllib.request.Request(url)
resp=urllib.request.urlopen(req)
data=resp.read().decode('GBK')

1.2 爬取內容

爬到的網頁需要批量取出兩個已知字符串的中間文本,可以使用正則表達式輕松解決,import re 包即可。

w1='<td width=\'610\' height=\'25\' style=\'padding-left:5px;\'>'
w2='</td></tr>'
pat=re.compile(w1+'(.*?)'+w2,re.S)
sybz=pat.findall(data)

技術分享圖片

2 數據庫操作

試了好幾種包,最後發現還是 pyodbc 好用
pyodbc 官方文檔:https://github.com/mkleehammer/pyodbc/wiki

2.1 連接Microsoft SQLServer 2008 R2

首先在命令行中輸入 pip install pyodbc 安裝 pyodbc 包
打開 SQL server Configuration Manager,選擇 SQL Server 網絡配置 - MSSQLSERVER 的協議 - TCP/IP
技術分享圖片
右擊屬性找到設置的端口,一般是 127.0.0.1:1433
技術分享圖片
打開 Microsoft SQL Server Management Studio,連接上本地數據庫後右擊屬性,選擇安全性,將服務器身份驗證中 SQL SERVER 和 WINDOWS 身份驗證模式復選欄勾上。
技術分享圖片
打開左側個人數據庫的屬性,選擇文件,將 sa 賦予所有者權限

技術分享圖片
打開安全性 - 登錄名 - sa,右擊屬性給 sa 指定一個密碼,並將強制實施密碼策略取消選擇
技術分享圖片
選擇狀態,如圖所示,將設置完成:
技術分享圖片
新建一個 py 文件,輸入下列代碼(註意將 yourpassword 處改為自己的密碼):

import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=SPDG;UID=sa;PWD=yourpassword')
cursor = cnxn.cursor()

隨便執行一個命令看看效果:

cursor.execute("SELECT * FROM SPB")
row = cursor.fetchall()
print(row)

技術分享圖片

如何用 python 優雅地完成數據庫課設 (施工ing)