日期:2020.02.04

博客期:143

星期二

 

   【本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)】

  所有相关跳转:

  a.【简单准备

  b.【云图制作+数据导入

  c.【拓扑数据

  d.【数据修复

  e.【解释修复+热词引用

   f.【JSP演示+页面跳转

  g.【热词分类+目录生成】(本期博客)

  h.【热词关系图+报告生成

  i . 【App制作

  j . 【安全性改造


  如下图,我已经解决的需求是标黄的部分,剩余需求就只有 热词分类、目录生成、热词关系图展示、数据报告导出 四部分了,这些需求是最紧要完成的,呼~撸起袖子加油干!

    Python 爬取 热词并进行分类数据分析-[热词分类+目录生成]

    1、热词分类

     老师说要参照各大平台的分类,我就直接按照博客园的分类来吧(我实在看不懂那些机器学习是怎么实现的,连入门的门槛都远远不及)!如下图,可以看到 博客园的新闻将新闻分成了如下几类:互联网类、IT业界类、软件开发类、开源类、电脑硬件类、游戏类、创业类、手机相关类、科学类、其他类。我就根据这几类将对应类新闻里爬出来的数据进行对应类的划分。(看来又要重新爬数据了啊)

Python 爬取 热词并进行分类数据分析-[热词分类+目录生成]

     开始爬之前事先说明一下,这次改动应该是最后一次改动了,另外我发现每一类新闻都有 100 页,这...相当于每一类都有,所以不保证有误差的存在,另外为了减少数据量,我打算将 “频数为15” 这一条件上升到 “频数为20”,不然怎么爬的完?我先预算一下,今天和明天一起写这个博客,另外明天的话,就再写一份总结性的博客,这个小目标就算完结吧!当然最后可能会加入微信小程序部分或者APP部分,到时候再说。

    根据这10类新闻,我们总共要爬取些什么数据呢?

    首先,通过带有 header 的 request 方式爬取 https://news.cnblogs.com/ 这一初始链接,要爬以上 10 类新闻的链接,再爬取类中封装链接的构造,并开启新的爬取,对应每一类数据给爬到的热词信息后面追加一个“热词类型”的标签,这需要我们改造 KeyWords 类,向 KeyWords 类中加入 kind 属性,改写 __toString() 成员函数。之后改造调用过 KeyWords 类的地方。(News不需要)

    关于分类页面的构造方法:

      首先是原新闻网址:https://news.cnblogs.com/

      其次,以 “互联网” 为例:https://news.cnblogs.com/n/c1101

      然后是第 100 页的地址:https://news.cnblogs.com/n/c1101?page=100

      很容易的判断到是在原网址的基础上加入对应 互联网的 a 标签上的 href 链接,需要将数据加载到一起来组成爬取链接!

    但是爬的过程中发现了问题,就是我爬不到对应的分类链接,既然这样,我只能人工地获取它们的链接了,就10条数据无所谓了,本来因为懒想让网页帮我做的,看来是博客园让我勤快的。哈哈哈!

    对应链接:

      互联网类:https://news.cnblogs.com/n/c1101

      IT业界类:https://news.cnblogs.com/n/c1102

      软件开发类:https://news.cnblogs.com/n/c1103

      开源类:https://news.cnblogs.com/n/c1109

      电脑硬件类:https://news.cnblogs.com/n/c1111

      游戏类:https://news.cnblogs.com/n/c1110

      创业类:https://news.cnblogs.com/n/c1112

      手机相关类:https://news.cnblogs.com/n/c1113

      科学类:https://news.cnblogs.com/n/c1114

      其他类:https://news.cnblogs.com/n/c1199

    在 Surapity 类 中建立字典,存储类型的名称和对应链接。

    爬取时间较长,从下午4:51到现在第2天的1:44,过程曲折且难以简言明之。

    途中遇到好几个网站会使爬虫程序终止,比如 其他类的 Apple Watch UI动效解析 ,呜哇~试一次,卡一次。程序员的痛苦莫过于此!!!

    统计基础数据共计 17469 条 数据!文件大小约为 1.96 M !

Python 爬取 热词并进行分类数据分析-[热词分类+目录生成]

    现在开始制作数据表:(先修改 fileR.py)

 1 import codecs
 2 
 3 
 4 def makeSql():
 5     file_path = "../../testFile/frc/words_sql.txt"
 6     f = codecs.open(file_path, "w+", 'utf-8')
 7     f.write("")
 8     f.close()
 9 
10     fw = open("../../testFile/frc/word.txt", mode='r', encoding='utf-8')
11     tmp = fw.readlines()
12 
13     num = tmp.__len__()
14 
15     for i in range(0,num):
16         group = tmp[i].split("\t")
17         group[0] = "'" + group[0] + "'"
18         group[3] = "'" + group[3][0:group[3].__len__()-1] + "'"
19         f = codecs.open(file_path, "a+", 'utf-8')
20         f.write("Insert into words values ("+group[0]+","+group[1]+",'"+group[2]+"',"+group[3]+",'"+group[4]+"');"+"\n")
21         f.close()
22 
23 makeSql()
fileR.py

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-28
  • 2022-12-23
  • 2022-03-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
  • 2021-12-08
相关资源
相似解决方案