![83b6872f0843c0f1857b0ab8de7dc07c.png](https://i-blog.csdnimg.cn/blog_migrate/324cab9eaa48783c745217ebbc97abf6.png)
鉴于论文的发表越来越需要新颖的数据,因此如何从网络中直接爬取数据、搭建自己的数据库,是走向学(头)术(发)辉(稀)煌(疏)的必经之路。
本文希望能够将人民日报的数据爬取下来,并且存在MySQL数据库中。因此本文突出讲解如何在局域网中使用MySQL的知识。假设大家已经了解"requests"、"dom"以及"xpath"的python知识。
本人是文科生,尽量使用"文科生"的词汇去描述我要做的事情。。
![04a862bfa866b0d87a7e62b9ba7b0329.png](https://i-blog.csdnimg.cn/blog_migrate/ee162b9ae0a7be26df394c638330b2a0.jpeg)
1. 别人的电脑如访问将我的笔记本上的MySQL?
1.1 同一个局域网的电脑互相访问mysql数据库
在请教了信息学院的同学之后,我了解到,MySQL允许同一个局域网中的电脑相互访问数据库。在学校里面使用校园无线网、并且只能够通过校园网才能够访问人民日报数据库的情况下,我选择“同一个局域网”允许别的电脑访问我的笔记本MySQL数据库的情形进行分析。
1.2 修改MySQL数据库的访问权限
- 第一步,找到自己笔记本电脑安装MySQL的文件夹,....MySQL Server 8.0bin中的mysql.exe。
![0e99795ffc11e327cad30656b8707a83.png](https://i-blog.csdnimg.cn/blog_migrate/23cbb9365cf3e3253cf19830bf00ec14.png)
- 第二步,把....MySQL Server 8.0bin放到环境变量中的系统变量的path中。
![d51a2a66837054fcc359ecced1a47487.png](https://i-blog.csdnimg.cn/blog_migrate/87f06d919f040e76102869bfab0f4e15.png)
![0cfb087fa3ca4772decdb39736058b3b.png](https://i-blog.csdnimg.cn/blog_migrate/795af24668c1872dde69effa20748d51.png)
- 第三步,打开cmd,进入mysql修改权限:
C:Usersdell>mysql -u root -p
Enter password: *********
mysql> use mysql;
输出:Database changed
mysql> update user set host = '%' where user = 'root';
输出:Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
输出:Query OK, 0 rows affected (0.01 sec)
——————————————————————————————————————
那么通过以上修改,同一个局域网(WiFi)的电脑均能够通过主机名+密码访问我的笔记本的MySQL数据库。
1.3 查看个人笔记本电脑的IPv4地址
在cmd中输入
ipconfig/all
结果如下
![855a8ebf89065a6b1aa17814e8a94fcf.png](https://i-blog.csdnimg.cn/blog_migrate/873191552c1e361c0bc503c50c3db266.jpeg)
1.4 测试同一个局域网的电脑能否访问我的数据库
首先,在我自己的笔记本中通过Navicat创建一个主机名是IPv4的数据库,主机那里填写IPv4的地址,密码(绿框)自己创建一个(别忘记,下面还要用到密码)。连接名随意填写(我写的是“人民日报”)。端口一般写“3306”,用户名一般写“root”。
![f5e0c747de5bd5a1d46e86371e4ab54e.png](https://i-blog.csdnimg.cn/blog_migrate/2341dc4c2690e6448c0e2193799d78a1.png)
然后,可以看一下自己数据库中有一个叫“人民日报”的数据库,注意到“人民日报”和上面的“huatai”的数据库一致,这是因为,新建的“人民日报”就是自己的电脑中的数据库,仅仅是主机名不同(huatai数据库的主机名是“localhost”,而“人民日报”的数据库的主机名是自己电脑的IPv4的地址),因此两者的内容一致。
![9fdcf762f9f6511ce4e7e29aca81eb4a.png](https://i-blog.csdnimg.cn/blog_migrate/021f0baaa692c97847d5e2e8936d002f.png)
然后,用另一台安装了“Navicat”(不用安装MySQL)电脑,测试能不能连接到我个人笔记本的数据库。以下图片是在另一个电脑、连接相同的WiFi的画面。
在另一台电脑的Navicat中创建新的连接。连接名依然随意写(我写的是dell)。主机名(红框)和我的笔记本电脑一致的IPv4,端口和用户名一样,密码暂时不写。
![ad02d4a8cdb4d8a949cba8ae9a098e46.png](https://i-blog.csdnimg.cn/blog_migrate/51dd0aef6323876eed083f9f439e3004.png)
然后,点击这个新建的数据库,写入密码,此处密码和自己笔记本的MySQL这个数据库的密码一致。即为在图5中的绿框中的密码。
最后,另外一台电脑可以连接我的笔记本的mysql,即便这台电脑没有装mysql。
![b22110be468985185841b5042cd2de53.png](https://i-blog.csdnimg.cn/blog_migrate/b7ade7a05eddde70764d7993b6ace22c.png)
最后,在自己的笔记本中创建一个叫做“newspaper”的sheet,然后定义好变量。从而为接下来的爬虫程序做好准备。
2. 多线程爬虫程序(简单带过)
import
# 通过parse,输入一条链接,输出一个df。
def
def
def
def
def
def
def
dom_queue
df
这里的df格式如下,一共三列(列名分别是“date”是该日期,“page”是该日期的版面,“links”是该日期该版面的该文章的链接)。这里因为需要校园网才能够访问,因此大家可以把链接换成其他的链接。。当然爬虫规则需要改变。
![7dc1b8749153de7fb8b30f8b527611e2.png](https://i-blog.csdnimg.cn/blog_migrate/1240844514f7613cede17bf501052f19.png)
好啦,本文重点讲述了如何修改自己电脑中的MySQL的访问权限,同时简单带过了多线程爬取程序。希望对大家有一点作用。