这是在把百度百科上从一个词条中,随机选择一个关键字,然后从这个关键词的词条中,继续这样一个步骤,同时保存到数据库。
如果遇到某词条下没有其他关键字,就会返回到上一个关键字处,目前有一个问题,就是两条关键词都只有一个的话,会进入循环。
数据库中可以设置url唯一
数据库这一块的操作,得先安装pymysql。直接使用pip安装即可。随机数random是python自带的。
代码如下:
1 | from bs4 import BeautifulSoup |
读取数据库1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22import pymysql.cursors
connection = pymysql.connect(host = 'localhost',
user = 'root',
password = 'password',
db = 'baikeurl',
charset = 'utf8mb4',
)
try:
# 获取会话指针
with connection.cursor() as cursor:
# 查询sql 语句
sql = 'select `urlname` , `urlhref` from `urls` where `id` is not null'
# 执行sql 语句
conut = cursor.execute(sql)
print(conut)
# result = cursor.fetchall()
# print(result)
finally:
connection.close()