GoldData学习实例-采集官网新闻数据
程序员文章站
2024-01-24 14:34:46
在本节中,我们将讲述抓取*官网地方新闻。并将抓取的新闻数据融入到以下两张数据表news_site和news中。 ......
概述
在本节中,我们将讲述抓取*官网地方新闻。并将抓取的新闻数据融入到以下两张数据表news_site和news中。
news_site(新闻来源)
字段 | 类型 | 说明 |
---|---|---|
id | bigint | 主键,自动增长 |
name | varchar(128) | 来源名称 |
news(新闻)
字段 | 类型 | 说明 |
---|---|---|
id | bigint | 主键,自动增长 |
title | varchar(128) | 标题 |
site_id | bigint | 外键,指向表news_site的id字段 |
content | text | 内容 |
pub_date | datetime | 发布时间 |
date_created | datetime | 加入时间 |
我们很容易看到这两张表存在关联,那是怎样将数据写入关联呢,我们将再此一一介绍。
定义站点、数据集
定义抓取和抽取规则
在这里我们需要填入口地址。入口地址如果有多个,那么要以英文逗号相隔。如下图所示:
接下来我们编写规则时,首先是匹配url,这里需要填写正则表达式。旁边的“?”号,点击后就会弹出相应的帮助文档。如下图所示:
然后数据集选择则我们要注意,如果抓取的仅需要的是链接,那么是否数据集选择否,且数据集字段必须要有一个名为href的字段。如下图所示:
否则是否数据集应该选择是,且数据集字段必须要有一个名为sn的字段。sn字段存放的数据一般是唯一值,相当于数据表里的id字段。如下图所示:
完整的规则内容显示如下:
[ { __sample: http://sousuo.gov.cn/column/40520/0.htm match0: http\:\/\/sousuo\.gov\.cn\/column\/40520/\d+\.htm fields0: { __model: false __node: .news_box a href: { expr: a attr: abs:href js: "" __label: 链接 __showonlist: false __type: "" down: "0" accesspathjs: "" uploadconf: "" } } } { __sample: http://www.gov.cn/xinwen/2019-02/26/content_5368539.htm match0: http\:\/\/www\.gov\.cn/xinwen/2019-\d{2}/\d{2}/content_\d+.htm fields0: { __model: true __dataset: news __node: ".article " sn: { expr: "" attr: "" js: ''' var xx=md5(baseuri) xx ''' __label: 编号 __showonlist: false __type: "" down: "0" accesspathjs: "" uploadconf: "" } title: { expr: .article >h1 attr: "" js: "" __label: 标题 __showonlist: true __type: "" down: "0" accesspathjs: "" uploadconf: "" } pubdate: { expr: .pages-date:matchtext attr: "" js: "" __label: 发布时间 __showonlist: false __type: "" down: "0" accesspathjs: "" uploadconf: "" } source: { expr: .pages-date > span.font:contains(来源) attr: "" js: ''' var xx=source.replace("来源:",''); xx ''' __label: 来源 __showonlist: true __type: "" down: "0" accesspathjs: "" uploadconf: "" } content: { expr: .pages_content attr: "" js: "" __label: 新闻内容 __showonlist: false __type: "" down: "0" accesspathjs: "" uploadconf: "" } } } ]
配制和启动抓取器
一个抓取器可以配制抓取多个站点,一个站点也可以配制多个抓取器抓取。
然后点击“开始”,则会启动抓取器。
查看和导出数据
可以按照搜索条件进行导出数据。选择“导出”按扭后,还将提示导出哪些数据段,最后导出文件。 如果数据少量,将会导出为excel文件,否则下载的打包之后的zip文件。如下图所示:
本节内容描述到这里,下一篇将讲述如何通过金色数据如何将数据融合到数据表当中去。
上一篇: MySQL知识篇-SQL3
下一篇: 分享一些写技术博客的心得感悟