前嗅(www.forenose.com)是国内领先的深度大数据专家,我们拥有从数据采集、分析、处理、管理、应用到营销,完 全独立知识产权的一整套大数据产品。前嗅致力于以深厚的技术功底和海量的数据资源打造国内第一家深度大数据平台!
分类: 大数据
2023-01-13 14:30:35
|采集简介
【场景描述】采集丁香医生网中新冠问题下的{BANNED}最佳新医患问答数据。
【源网站介绍】丁香医生网提供问医生、查疾病、查药品、查疫苗、查检查、科普视频等信息。
【使用工具】前嗅ForeSpider数据采集系统,免费下载:
|采集网站
【入口网址】
【采集内容】
采集新冠问题的用户提问、医生回答、医生姓名、科室、医生所属医院{BANNED}最佳新基本数据。
【采集效果】如下图所示:
|思路分析
配置思路概览:
|配置步骤
1.新建采集任务
选择【采集配置】,点击任务列表右上方【+】号可新建采集任务,将采集入口地址填写在【采集地址】框中,【任务名称】自定义即可,点击下一步。
选择【抽取链接】的所有链接,勾选【翻页链接】,然后点击【完成】。
2. 抽取翻页链接
①在入口页搜索选择不同页数,发现不同页数搜索结果的链接,只更换了图中红框部分,而红框部分正是经过转码后的页数,于是得出页数链接的拼接规则为:
%E6%96%B0%E5%86%A0?page_index=页数
②在【模板抽取配置】选择频道(即任务名称),选择【脚本窗口】,将页数搜索配置在频道处即可。
③具体配置脚本如下:
④效果预览:
点击【保存】,点击【采集预览】,即可看到配置效果。
3.链接抽取
这一步是在获取的翻页链接中,提取每页全部问答链接:
①在原有模板基础上,点击按钮如下,添加列表链接抽取。
②采用地址过滤的方法来抽取表一链接,具体如下所示:
点击采集预览,先观察标题链接规律,找到规律,很明显标题链接中都包含: 规律的数字
然后设置地址过滤,过滤包含“ ”的链接,这样就把列表链接过滤出来了。
③关联模板,点击【列表链接】抽取,关联模板03。
4. 数据抽取
①链接抽取完成进入数据页,在原有模板基础上添加数据抽取,点击【+】后新建模板03,然后点击【添加数据抽取】按钮。
②此时要完成数据建表的工作:
a.选择【数据建表】,点击【采集数据表结构】中的【+】,即可添加表单,名称可以自定义。
b.另外需要注意,每一个表单都需要配置主键字段,需要使用脚本的字段,在高级类型中选择脚本取值才可进行脚本操作。
c.其它字段根据实际需求配置即可,例如:questions字段配置如下。
③将新建好的表单,关联到模板中去,如下图所示:
④填写示例地址
采集预览,复制任意一条列表链接。
⑤将链接粘贴到本模板示例地址中,并双击内置浏览器空白部分,加载本链接。
⑥需要配置哪一个字段,点击该字段,在右侧字段属性中配置即可,选择脚本配置的字段,在脚本窗口中进行代码配置。
id字段:主键字段,采集内容选择【主键】-【网页主键】,主键为当前网页的MD5值。
doctorname字段:医生姓名字段,采集内容选择【选区内可见文本】-【选区内可见文本】,选择doctorname按住“ctrl+鼠标左键”选择所需区域,之后点击【确认选区】。
hospitalname字段:所属医院字段,采集内容选择【选区内可见文本】-【选区内可见文本】,选择hostpitalname按住“ctrl+鼠标左键”选择所需区域,之后点击【确认选区】。
department字段:科室字段,采集内容选择【选区内可见文本】-【选区内可见文本】,选择department按住“ctrl+鼠标左键”选择所需区域,之后点击【确认选区】。
question字段:问题字段是用脚本处理的。
以{BANNED}中国第一页其中一个问答为例,查看网页结构(可以使用F12查看,但需确认源码与F12内容一致)。
通过查看网页结构,发现所需要的链接全部包含在“class”类中。每个链接块对应多个“dialog”类,我们所需要的内容包含在“class”类的下一个结点“dialog theme-dark”中,“GetTextAll”获取文本的结点。
answer字段:回答字段是用脚本处理的。
使用F1查看网页,发现所需要的链接全部包含在“class”类中。每个链接块对应多个“dialog”类,我们所需要的内容包含在“class”类的“dialog theme-white”下一个结点中,“GetTextAll”获取文本的结点。
⑦以上完成全部字段配置,效果预览如下:
|采集步骤
以上模板配置已完成,在采集预览没有问题后,便可以进行数据采集。
1.首先要建立采集数据表:
选择【数据建表】,点击【表单列表】中该模板的表单,在【关联数据表】中选择【创建】,表名称自定义,这里命名为doctorQandA(注意命名不能用数字和特殊符号),点击【确定】 创建完成,勾选数据表。
2.选择【数据采集】,勾选任务名称,点击【开始采集】,则正式开始采集。
3.可以在【数据浏览】中,选择数据表查看采集数据。
4.导出数据
采集结束后,可以在【数据浏览】中,选择数据表查看采集数据,并可以导出数据。
5.导出的文件打开如下图所示: