mysql将结果集并排显示_同一个局域网下多线程爬取《人民日报》并将结果存储在MySQL数据库中...

83b6872f0843c0f1857b0ab8de7dc07c.png

鉴于论文的发表越来越需要新颖的数据,因此如何从网络中直接爬取数据、搭建自己的数据库,是走向学(头)术(发)辉(稀)煌(疏)的必经之路。

本文希望能够将人民日报的数据爬取下来,并且存在MySQL数据库中。因此本文突出讲解如何在局域网中使用MySQL的知识。假设大家已经了解"requests"、"dom"以及"xpath"的python知识。

本人是文科生,尽量使用"文科生"的词汇去描述我要做的事情。。

04a862bfa866b0d87a7e62b9ba7b0329.png
图1:总体流程

1. 别人的电脑如访问将我的笔记本上的MySQL?

1.1 同一个局域网的电脑互相访问mysql数据库

在请教了信息学院的同学之后,我了解到,MySQL允许同一个局域网中的电脑相互访问数据库。在学校里面使用校园无线网、并且只能够通过校园网才能够访问人民日报数据库的情况下,我选择“同一个局域网”允许别的电脑访问我的笔记本MySQL数据库的情形进行分析。

1.2 修改MySQL数据库的访问权限

  • 第一步,找到自己笔记本电脑安装MySQL的文件夹,....MySQL Server 8.0bin中的mysql.exe。

0e99795ffc11e327cad30656b8707a83.png
图2:MySQL在电脑中的位置
  • 第二步,把....MySQL Server 8.0bin放到环境变量中的系统变量的path中。

d51a2a66837054fcc359ecced1a47487.png
图3:将路径添加到环境变量的系统变量的path

0cfb087fa3ca4772decdb39736058b3b.png
图3:将路径添加到环境变量的系统变量的path
  • 第三步,打开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
图4:查看IPv4

1.4 测试同一个局域网的电脑能否访问我的数据库

首先,在我自己的笔记本中通过Navicat创建一个主机名是IPv4的数据库,主机那里填写IPv4的地址,密码(绿框)自己创建一个(别忘记,下面还要用到密码)。连接名随意填写(我写的是“人民日报”)。端口一般写“3306”,用户名一般写“root”。

f5e0c747de5bd5a1d46e86371e4ab54e.png
图5:在个人电脑中的Navicat创建MySQL数据库

然后,可以看一下自己数据库中有一个叫“人民日报”的数据库,注意到“人民日报”和上面的“huatai”的数据库一致,这是因为,新建的“人民日报”就是自己的电脑中的数据库,仅仅是主机名不同(huatai数据库的主机名是“localhost”,而“人民日报”的数据库的主机名是自己电脑的IPv4的地址),因此两者的内容一致。

9fdcf762f9f6511ce4e7e29aca81eb4a.png
图6:新建“人民日报”数据库的样子

然后,用另一台安装了“Navicat”(不用安装MySQL)电脑,测试能不能连接到我个人笔记本的数据库。以下图片是在另一个电脑、连接相同的WiFi的画面。

在另一台电脑的Navicat中创建新的连接。连接名依然随意写(我写的是dell)。主机名(红框)和我的笔记本电脑一致的IPv4,端口和用户名一样,密码暂时不写。

ad02d4a8cdb4d8a949cba8ae9a098e46.png
图7:同一个WiFi下的另一台电脑的测试

然后,点击这个新建的数据库,写入密码,此处密码和自己笔记本的MySQL这个数据库的密码一致。即为在图5中的绿框中的密码。

最后,另外一台电脑可以连接我的笔记本的mysql,即便这台电脑没有装mysql。

b22110be468985185841b5042cd2de53.png
图8:另一台电脑成功访问我的笔记本的MySQL数据库

最后,在自己的笔记本中创建一个叫做“newspaper”的sheet,然后定义好变量。从而为接下来的爬虫程序做好准备。

2. 多线程爬虫程序(简单带过)

import 
# 通过parse,输入一条链接,输出一个df。
def 
def 
def 
def 
def 
def 
def 
dom_queue 
df 

这里的df格式如下,一共三列(列名分别是“date”是该日期,“page”是该日期的版面,“links”是该日期该版面的该文章的链接)。这里因为需要校园网才能够访问,因此大家可以把链接换成其他的链接。。当然爬虫规则需要改变。

7dc1b8749153de7fb8b30f8b527611e2.png
图9:存放所有文章链接的原始excel

好啦,本文重点讲述了如何修改自己电脑中的MySQL的访问权限,同时简单带过了多线程爬取程序。希望对大家有一点作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值