創(chuàng)新互聯(lián)是一家專業(yè)提供平遠企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為平遠眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
在本節(jié)中,我們將講述抓取政府官網(wǎng)地方新聞。并將抓取的新聞數(shù)據(jù)融入到以下兩張數(shù)據(jù)表news_site和news中。
news_site(新聞來源)
字段 | 類型 | 說明 |
---|---|---|
id | bigint | 主鍵,自動增長 |
name | varchar(128) | 來源名稱 |
news(新聞)
字段 | 類型 | 說明 |
---|---|---|
id | bigint | 主鍵,自動增長 |
title | varchar(128) | 標題 |
site_id | bigint | 外鍵,指向表news_site的id字段 |
content | text | 內(nèi)容 |
pub_date | datetime | 發(fā)布時間 |
date_created | datetime | 加入時間 |
我們很容易看到這兩張表存在關(guān)聯(lián),那是怎樣將數(shù)據(jù)寫入關(guān)聯(lián)呢,我們將再此一一介紹。
在這里我們需要填入口地址。入口地址如果有多個,那么要以英文逗號相隔。如下圖所示:
接下來我們編寫規(guī)則時,首先是匹配URL,這里需要填寫正則表達式。旁邊的“?”號,點擊后就會彈出相應的幫助文檔。如下圖所示:
然后數(shù)據(jù)集選擇則我們要注意,如果抓取的僅需要的是鏈接,那么是否數(shù)據(jù)集選擇否,且數(shù)據(jù)集字段必須要有一個名為href的字段。如下圖所示:
否則是否數(shù)據(jù)集應該選擇是,且數(shù)據(jù)集字段必須要有一個名為sn的字段。sn字段存放的數(shù)據(jù)一般是唯一值,相當于數(shù)據(jù)表里的id字段。如下圖所示:
完整的規(guī)則內(nèi)容顯示如下:
[
{
__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 >h2
attr: ""
js: ""
__label: 標題
__showOnList: true
__type: ""
down: "0"
accessPathJs: ""
uploadConf: ""
}
pubdate:
{
expr: .pages-date:matchText
attr: ""
js: ""
__label: 發(fā)布時間
__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: 新聞內(nèi)容
__showOnList: false
__type: ""
down: "0"
accessPathJs: ""
uploadConf: ""
}
}
}
]
一個抓取器可以配制抓取多個站點,一個站點也可以配制多個抓取器抓取。
然后點擊“開始”,則會啟動抓取器。
可以按照搜索條件進行導出數(shù)據(jù)。選擇“導出”按扭后,還將提示導出哪些數(shù)據(jù)段,最后導出文件。 如果數(shù)據(jù)少量,將會導出為excel文件,否則下載的打包之后的zip文件。如下圖所示:
本節(jié)內(nèi)容描述到這里,下一篇將講述如何通過金色數(shù)據(jù)如何將數(shù)據(jù)融合到數(shù)據(jù)表當中去。
(注:本內(nèi)容是根據(jù)培訓視頻整理而成,https://golddata.100shouhou.com/front/docs)