考情分析调研

news/2024/7/19 11:17:38 标签: python, 爬虫, 开发语言

文章目录

    • 一、爬虫
      • 1、定向爬虫
      • 2、规律
      • 3、爬取策略
      • 4、整页抓取
      • 5、爬取方案
        • 5.1 Scrapy
        • 5.2 BeautifulSoup
    • 二、文本提取
    • 三、问题
    • 四、数据源建模调研

一、爬虫

1、定向爬虫

定向爬虫可行性太低,因为网站可能发生改版、且网站类型较多。

2、规律

考情分析大多是找到相关文档,所需要的数据的行为模式基本都是从列表页进–>文章页,而具体的文章就是在这里插入图片描述
我们需要的数据。如下面中公教育的网站提供的公告数据。
在这里插入图片描述

3、爬取策略

不针对某个特定的网站进行爬取,而是针对于所有数据源进行爬取。

以列表的形式列举出全国各省市区的公告信息网(或者就是现在的一千多条数据源)。

  1. 获取首页URL地址:公告官网列表中的每一个条目是通过模板for标签动态显示的,数据来源于数据源,该数据源中存储了每一个官网的名字和URL地址。
    2.当确定建立某一个官网的词库后,查询id值对应的门户网站的首页地址,爬虫便从该地址开始爬取。
  2. 爬虫API获取网页信息:门户网站中有许多子网页,可以采用DFS和BFS来获取每一个子网页信息。在设置请求头后,使用request.get方法来抓取网页的标题、内容、URL等信息。
  3. 解析网页及分词:对于每一个子网页,在获取了页面的源码后,标题和内容是一起的,可以用BeautifulSoup来解析网页内容,解析出网页的标题和内容,随后使用Python的jieba中文分词库进行中文的分词,使连续的内容变成一个个单词。分词的结果可以放在list里面,后续可以使用,如考试时间的排序,考试内容的筛选等。
  4. 存入数据表:经过上述对网页信息的处理后,构建两张数据表。一个存储url、title等,另一个存储网页内容分词后的中文词语。
    6.成功爬取多个网页后,数据得到汇总。
    在这里插入图片描述

4、整页抓取

进入文章后,不是只抓取特定字段,而是整页抓取,后续进行相对应的文本提取和操作。
在这里插入图片描述

5、爬取方案

5.1 Scrapy

这里的调度器是个队列,出队后进入到下载器。
item就是想要的数据包。
如果管道处理后仍然有url,可以将其加入到队列,如广度优先搜索一样将相关页面都入队,入队后依次出队进入下载器。
在这里插入图片描述

5.2 BeautifulSoup

这个三方主要是借助于BeautifulSoup来进行解析,其实里面就是一些属性,通过属性来进行获取,如name、content等信息,在获取信息的时候通过一些label或者是h1、h2等
在这里插入图片描述

二、文本提取

因为不确定最后需要的数据到底有什么,所以没有准确的定位。

如果是提取公告内部的信息,可以进行文本提取。可以使用xpath获取文本信息,也就是根据前端的文本格式来获取文字信息。思路是遍历内部的所有子标签并获取标签文本,最后拼接。
如果是获取报名时间等具体的内容,可以进行中文分词,分词后筛选出重要信息,根据重要信息去做别的事情。

三、问题

1.我想要通过数据了解什么?
2.类似于BOSS提供职位方便用户进行筛选,这个筛选是根据地区、考试时间,对考试公告进行筛查吗?
3.这个考情,指的是考试情况,还是考试情况分析。是只需要汇总考试时间、内容吗?还是说也会针对历年的考试情况如报考人数和录取比例进行职位的推荐?
4.目前对中公教育网站,爬虫内容主要是有:该考试公告的更新时间、名字、标题、公告链接等,如下图所示,并没有具体考试数据的提取(如考试时间和考试科目等),是否满足现在的需求?
在这里插入图片描述

四、数据源建模调研

背景:考情主要依赖于平台和模型外部数据源,不同的门户网站间的算法是不统一的。如果每个数据源都依赖于一个模型,那么时间成本太高。考虑动态模型融合,按照标准化和加权融合的搭配一个统一的模型。

方案:基于现有数据源,找几个典型的数据源,构建模型,看模型可以被哪些数据源所覆盖。
具体:
1、每种数据源一个单模型。
2、对多模型,进行训练,通过机器学习,训练模型,来多元化适配不同的数据源,在不断的数据源加入的过程中,模型会越来越准确。
3、对模型,可以参考某种权重进行标准化。

暂时不确定可行性。后续需进一步了解。

感觉应该是这个意思:
在这里插入图片描述


http://www.niftyadmin.cn/n/334864.html

相关文章

Vue 3和TypeScript连接Socket.IO的完整指南

Socket.IO是一个流行的实时通信库,它为开发者提供了简单而强大的工具来构建实时应用程序。在本文中,我们将探讨如何使用Vue 3和TypeScript来连接和使用Socket.IO。我们将提供详细的安装教程、功能介绍、使用方法以及示例代码,并讨论使用Socke…

mongoDB数据库连接

/* mongoDB连接模块 建议mongod.cfg配置文件增加directoryPerDB: true,表示每个数据库均保存在独立同名文件夹中# Where and how to store data. storage:dbPath: D:\Program Files\MongoDB\Server\6.0\data\dbdirectoryPerDB: truejournal:enabled: true不认证直接…

golang 如何通过电报机器人给自己或群组发消息

转:https://zhuanlan.zhihu.com/p/146062288 如题,什么情况下需要用到这个方法呢? 如果你的网络业务通知是通过短信发送管理员的,采用这种方式可以节省短信费用。 还可以用来发送简报给管理员,发送通知或推广信息到群组,想想是不是一个很棒的主意! 试想你有一个外贸独立站…

PGSQL查看与停止任务,查找涉及到表的存储过程

本笔记仅供在PGSQL数据库下使用 查询当前活动的任务(此处的mdn指的是数据库名) SELECT T .PID, T.STATE, T.QUERY, T.WAIT_EVENT_TYPE, T.WAIT_EVENT, T.QUERY_START FROM PG_STAT_ACTIVITY T WHERE T.DATNAME mdn and state active 查…

mysq的约束学习

第13章_约束 1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的…

chatgpt赋能Python-numpy转化为pandas

从Numpy到Pandas: 如何将数组转换为数据框 如果您正在使用Python进行数据分析,那么您一定会听说过Numpy和Pandas。他们是Python中最受欢迎的数据科学库之一,可以极大地简化数据处理的流程。但是,当您想从numpy数组转换为pandas数据框时&…

Nevron Open Vision for .NET 2023.1 Crack

Nevron Open Vision for .NET 2023.1 添加对 .NET Core 7.0 的支持以及用于图表控件的新 3D 渲染引擎。 2023 年 5 月 17 日 - 14:09 新版本 特征 一般改进 添加了对 Microsoft .NET 7.0 的支持- NOV 现在完全支持 .NET Core 7.0,此外还支持 Microsoft .NET Framewo…

网络安全实验——web安全

目录 实验目的 实验原理 实验内容 实验1 1. 地址栏中执行脚本 2. 对DOM技术的利用 实验2 1.jump1 2.jump2 3.get 4.xss 5.注册bss 6.盗取cookie 7.分析cookie 实验3 一.搭建IIS服务器 二.身份验证和权限设置 三.IP地址和域名限制 四.安全通信 五. 单点登录 …