本文目录

 

内容简介:

一、什么是MySQLdb?

二、如何安装MySQLdb?

三、基本操作

插入

 四、将爬取的内容写入:

1、爬取目标:标题

2、分析

3、代码如下:

4、爬取内容如下:


 

 

内容简介:

本文将爬取的内容存入sql数据库

简单介绍了以下MySqldb

一、什么是MySQLdb?

MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。

二、如何安装MySQLdb?

这里不做详细介绍

详情可看:Python 操作 MySQL 数据库 | 菜鸟教程 (runoob)

 

三、基本操作

常见的几种操作有增查删改,这里只说明以下插入操作

插入

import MySQLdb
#  fxx表格的books

# 打开数据库连接
conn = MySQLdb.connect(host='localhost', user='xxxx', password='xxxxxx',db='fxx')
# connect()参数 host、user是用户名,password是密码、fxx是一个“架构“

# 使用cursor()方法获取操作游标
cur = conn.cursor()

# 使用execute方法执行SQL语句
cur.execute("insert into books (ID, BOOKNAME, NUMBER) VALUES ('12','重生之我在海洋当虾头鸡',100)")

# 关闭
cur.close()
# 提交事务
connmit()
# 关闭数据库连接
conn.close()
print('插入操作成功!')

上面代码中sql语句是:

"insert into books (ID, BOOKNAME, NUMBER) VALUES ('12','重生之我在海洋当虾头鸡',100)"

意思是向表格 “books”插入一列数据

如下的12列数据

 

INSERT 插入

books 是我建立的一个表格

ID, BOOKNAME, NUMBER 即为三个表头

 

 四、将爬取的内容写入:

1、爬取目标:标题

2、分析

可见,标题都存放在:

<a style="vertical-align: middle; " href="problem.php?id=1000">网络寻路</a> 

第一页的题目标号从1000开始到1050

我们这里直接采用从1000每做一次插入操作递增加1

3、代码如下:

'''
爬取uscOJ题目的编号和题目名存入sql数据库表格
fxx的表格02sql
'''
import requests
from bs4 import BeautifulSoup
import MySQLdb

conn = MySQLdb.connect(host='localhost', user='xxxx', password='xxxx', db='fxx')
# 获取游标
cur = conn.cursor()
# 网址
link = "http://101.132.172.57/problemset.php"
# 头文件
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit   xxxxxxx'
}
# get方式
r = requests.get(link, headers=headers).content.decode('utf-8')
soup = BeautifulSoup(r, 'lxml')

t = soup.find_all('a', style='vertical-align: middle; ')
li = []
for i in range(0, len(t)):
    li.append(t[i].text)
print(li)
Id = 1001
for each in li:
    cur.execute("insert into 02sql (id, name) VALUE (%s,%s)", (Id, each))
    Id += 1

cur.close()
connmit()
conn.close()
print("操作成功")

表格:02sql

4、爬取内容如下:

 

 

 

 

更多推荐

【爬虫】将爬取的内容写入MySQL数据库