热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

百度百科采集策略(如何能尽可能采集全所有词条)

一.分析若从分类开始:1.百科库中显示的分类是不全的,只有一些开放分类。2.一个分类的数量不固定,每一页最多显示30个。比如url:参数解析:

一.分析

  若从分类开始:

  1.百科库中显示的分类是不全的,只有一些开放分类

  2.一个分类的数量不固定,每一页最多显示30个。

  比如url:

   

 

  参数解析

                  https://baike.baidu.com/fenlei/此处替换分类

                  Limit:30  每个页最多显示30条。

                  Index:第几页。

                  Offset:下标。  此url显示的就是这个分类下 30到30+offset之间的词条。

  直接优化

                  上述例子,直接改成:

                  http://baike.baidu.com/fenlei/文化遗产?limit=999999999

                   即可显示此分类下所有的目前开放的词条。无须遍历一直遍历“下一页”标签。

         上述第1点:分类不全的问题。

         上述第2点:某一个分类下 词条不全的问题。

若从词条进行拓扑,往外蔓延,不能保证所有词条之间都是相通的。

         综上,我计划从分类和词条两个点同时出发,去统计所有的分类,再去统计所有的词条。

具体步骤如下:

二.步骤

1.分类出发

  先定义所有的一级分类。

   

 

  除了这些一级分类,还有两个需要额外单独考虑的:

           https://baike.baidu.com/art

           https://baike.baidu.com/science

  然后遍历这些一级分类,通过正则,提取所有a标签中的

   

  

  将这些可能的分类url全部规则化:

           http://baike.baidu.com/fenlei/?

  存到一个set集合中。

 

2.词条出发

  1.在遍历每一个词条的同时,同时也需要一个词条的set集合,找到一个词条的url就往set中add。

  具体情况:

        

  

         同样规则化:

                   https://baike.baidu.com/item/?

         存到这个集合中,其中每个词条有一个需要筛选的内容:

        

 

         这些词条标签也可能是分类,通过组装url:

                   https://baike.baidu.com/fenlei/政治人物.

         去访问看返回状态进行判断是否需要add到词条的set中。

  2.可以将https://baike.baidu.com/view/+数字,通过判断这个html是否返回正常进行上述操作。

三.汇总

  将分类中出现的词条,分类汇总到词条的set,和分类的set.

  将词条中出现的词条,分类汇总到词条的set,和分类的set.

  最后遍历分类set找词条add到词条的set,最后形成一个从词条和分类出发的词条set。

 

  最后再在每一个词条url中提取需要的内容。

 


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了求解gcdexgcd斐蜀定理的迭代法和递归法,并解释了exgcd的概念和应用。exgcd是指对于不完全为0的非负整数a和b,gcd(a,b)表示a和b的最大公约数,必然存在整数对x和y,使得gcd(a,b)=ax+by。此外,本文还给出了相应的代码示例。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
author-avatar
大魔王
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有