爬虫抓取网页数据(Python爬虫网页抓取数据库的定义及应用 )

优采云 发布时间: 2021-09-23 12:08

  爬虫抓取网页数据(Python爬虫网页抓取数据库的定义及应用

)

  前言

  本文的文字和图片来自网络,仅供学习和交流,不具有任何商业目的。如有任何疑问,请及时联系我们处理

  PS:如果你需要Python学习材料,你可以点击下面的链接自己获取

  Python免费学习资料和组通信解决方案。点击加入

  Python爬虫很有趣,也很容易使用。现在我想使用Python抓取网页*敏*感*词*,并将其保存到本地CSV数据文件中。同时,我想将*敏*感*词*保存到MySQL数据库中。当需求得到满足时,其余的就实现了

  启动之前,请确保已安装MySQL,并且需要启动本地MySQL数据库服务。说到安装MySQL数据库,它是两天前安装在一台计算机上的MySQL5.在7:00时,无法安装。它总是提示说缺少VisualStudio2013可再发行版本,但我非常困惑。它安装得很清楚。最初的问题是版本。只需更换版本。小问题和*敏*感*词*烦。我不知道是否有人像我一样悲伤

  要恢复业务,请启动本地数据库服务:

  以管理员身份打开“命令提示符(管理员)”,然后输入“net start mysql57”(我将数据库服务名称定义为mysql57,安装MySQL时可以修改该名称)启动服务。注意:使用管理员身份打开小黑匣子。如果不是管理员身份,我将提示您在此处没有权限。你可以试试

  启动服务后,我们可以选择打开mysql5.7“命令行客户端”小黑匣子。您需要首先输入数据库的密码。它是在安装过程中定义的。你可以在这里操作数据库

  

  我们开始吃饭吧

  一、Python爬虫程序获取网页数据并将其保存到本地数据文件中

  首先,导入所需的数据模块并定义功能:

  

  实代码块:

  

  上面的代码实现了爬虫网页抓取*敏*感*词*并将其保存到本地文件中。有很多关于爬行动物的信息可供参考。大多数都是例行公事。我不多说了。同时,本文也参考了大量的web资源在实现过程中的应用。感谢这里的所有原创参与者

  让我们看看结果。代码列表是所有捕获的股票代码的集合。我们可以看到它收录1416个元素,即1416个*敏*感*词*。因为股票太多了,我们从6开始抓取,这似乎是上海股市的*敏*感*词*(请原谅我不懂金融)

  

  捕获的*敏*感*词*将存储在CSV文件中,每个*敏*感*词*一个文件。理论上,将有1416个CSV文件,这与股票代码的数量一致。但请原谅我糟糕的网络速度。很难下载一个。也是呵呵

  

  打开本地数据文件以查看捕获的数据的外观:

  

  事实上,它与手动下载没有什么不同。坦率地说,它解放了劳动力,提高了生产率(这听起来像政治吗?)

  二、在MySQL数据库中存储数据

  首先建立本地数据库连接:

  

  数据库名称和密码是在安装MySQL时设置的

  创建数据库以存储此*敏*感*词*:

  

  通常,数据库将在第一次运行期间正常创建,但如果它再次运行,因为数据库已经存在,请跳过创建并继续执行。创建数据库后,选择使用刚刚创建的数据库,并将数据表存储在数据库中

  以下是具体的存储代码:

  

  代码并不复杂,只需注意几点

  1.逻辑级别:

  它收录两层循环。外部循环是库存代码的循环,内部循环是当前库存的每条记录的循环。坦率地说,它是根据库存逐一存储的。对于每种股票,它都会根据每日记录逐一存储。它是简单而暴力的吗?对根本没有考虑更优化的方法

  2.读取本地数据文件的编码方法:

  使用“GBK”编码。默认值应该是“utf8”,但它似乎不支持中文

  3.创建数据表:

  同样,如果数据表已经存在(如果不存在则判断是否存在),请跳过创建并继续执行以下步骤(存储将继续)。一个问题是数据可能被重复存储。您可以选择跳过存储或仅存储最新数据。我在这里没有考虑太多的额外处理。其次,指定字段格式。以下字段包括交易量、交易金额、总市值和流通市值。因为数据很大,所以选择bigint类型

  4.未为数据表指定主键:

  首先,我打算使用日期作为主键。后来,我发现获得的数据甚至收录日期重复的数据,这破坏了主键的唯一性,并会导致错误。然后我没有考虑数据文件的内容,也不会进一步使用这些数据。为了省事,我没有直接设置主键

  5.construct SQL语句sqlsentence4:

  在这个过程的实现中,*敏*感*词*直接记录在元组中,然后用字符串(%operator)格式化。我们没有考虑太多导致的准确性问题,也不知道它是否会有任何影响。%S有一个“”用于表示SQL语句中的字符串。有一个%s',右边只有一个引号。匹配的股票代码只有一个单引号。这是因为从数据文件读取的字符串已经收录左侧的单引号。没有必要将其添加到左侧。这就是数据文件格式的问题。为了表示文本形式,预先使用单引号

  6.异常处理:

  文本文件收录非标准化数据,例如null值、none和none。它们全部替换为null,即数据库的null值

  MySQL数据库数据存储完成后,需要关闭数据库连接:

  #关闭游标、提交并关闭数据库连接游标。关闭()

  麻省理工学院()

  db.close()

  如果不关闭数据库连接,就不能在MySQL端查询数据库,这相当于占用数据库

  三、MySQL数据库查询

  

  如果你把上面的一张一张地打印出来,就会把它弄得一团糟。您也可以在MySQL端查看它。首先选择数据库:使用stockdatabase;,然后查询:从库存中选择*600000结果可能如下:

  

  四、完整代码

  事实上,整个过程已经完成了两个相对独立的过程:

  1.crawler获取网络*敏*感*词*并将其保存到本地文件

  2.在MySQL数据库中存储本地文件数据

  没有直接考虑将从网页捕获的数据实时(或通过临时文件)扔进数据库,并跳过本地数据文件的过程。这只是实现这一点的一种尝试,代码没有进行任何优化考虑。它实际上没有被使用,只是很有趣,几乎是第一次。哈哈~~

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线