Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
板文件:
<style>
.currentSelect { background:#FBEC88 !important; }
</style>
<div id="content">
<table>
<tbody>
<tr>
<td><input type="checkbox" onclick="checkboxcss();"/></td>
<td>姓名</td>
<td><input type="checkbox" onclick="checkboxcss();"/></td>
<td>年齡</td>
</tr>
<tr>
<td><input id="selectAll" value="0" type="checkbox" /></td>
</tr>
</tbody>
</table>
</div>
js函數(shù):
//已選中的復(fù)選框加樣式
function checkboxcss() {
uncheckboxcss();//去樣式
//循環(huán)查詢當(dāng)前已選中的復(fù)選框,賦樣式
$("#content input[type='checkbox']:checked").each(function() {
$(this).parent().next().addClass("currentSelect"); //賦樣式
})
近在抓取一些比較有價(jià)值的網(wǎng)站資源,用于訓(xùn)練AI寫作系統(tǒng),保證AI能在我采集的龐大數(shù)據(jù)庫(kù)中學(xué)會(huì)利用一個(gè)命題就可以創(chuàng)作高質(zhì)量原創(chuàng)文章。對(duì)!我說(shuō)的是原創(chuàng)文章,不是偽原創(chuàng)。至于這個(gè)AI寫作的系統(tǒng)將會(huì)在我成功后與大家展開更為細(xì)致的分享,今天我們的主題是,如何通過(guò)火車頭采集器批量采集網(wǎng)站文章。
軟件:火車頭采集器/高鐵采集器
使用環(huán)境:PC端
進(jìn)入待采集網(wǎng)站,打開需要采集的欄目或者待采集的關(guān)鍵詞搜索列表。
待采集網(wǎng)頁(yè)
確定這個(gè)欄目的文章頁(yè)數(shù),翻到底部發(fā)現(xiàn)總頁(yè)數(shù)為15,確定采集頁(yè)數(shù)為15。
網(wǎng)站頁(yè)碼位置
;跳轉(zhuǎn)到下一頁(yè),確定網(wǎng)頁(yè)的起始網(wǎng)址格式,變量基本是.html前面的序號(hào),所以我們先直接復(fù)制下來(lái)。
進(jìn)入高鐵采集器,點(diǎn)擊+按鈕跳出任務(wù)設(shè)置頁(yè)面。
高鐵采集器/火車頭采集器
點(diǎn)擊網(wǎng)頁(yè)采集規(guī)則頁(yè)面的起始網(wǎng)頁(yè)右邊的第一個(gè)按鈕進(jìn)入向?qū)В钊霃?fù)制下來(lái)的頁(yè)面地址,并將頁(yè)面的變量替換成右邊的地址參數(shù),直接刪掉原頁(yè)碼然后點(diǎn)擊按鈕插入就可以。
網(wǎng)址采集規(guī)則
最終會(huì)自動(dòng)生成一個(gè)采集列表文章的鏈接,但這只是采集頁(yè)面數(shù)據(jù),并沒(méi)有將需要的內(nèi)容精確地采集到。
采集起始網(wǎng)址
因?yàn)樾枰寵C(jī)器知道我們要采集哪些數(shù)據(jù),所以我們要在網(wǎng)頁(yè)代碼中找到開頭和結(jié)尾的標(biāo)志,以便機(jī)器采集。
右擊網(wǎng)頁(yè)空白處查看網(wǎng)頁(yè)源代碼
查看頁(yè)面源代碼
由于源碼大多是一行顯示,所以我們需要勾選源碼頂部的“換行”復(fù)選框。
勾選換行復(fù)選框
Ctrl+F 搜索源代碼中包含列表頁(yè)的第一條數(shù)據(jù)的標(biāo)題,并尋找與該標(biāo)題臨近的一個(gè)唯一標(biāo)簽。
查找是否唯一
<h1><span>產(chǎn)品運(yùn)營(yíng)</span></h1> </div> <div class="sec-panel-body">
在這段代碼中,我選擇了 “<divclass="sec-panel-body">” 作為識(shí)別開頭的代碼。
同樣的方式,我搜尋列表頁(yè)的最后一條數(shù)據(jù)的標(biāo)題,找到了識(shí)別結(jié)尾的代碼。
是否是唯一且能識(shí)別到的代碼,我們也可以通過(guò) Ctrl+F 去查找,只要搜索數(shù)據(jù)是唯一的就是了。
填寫起始代碼
填入寫好的起始和結(jié)束代碼后,點(diǎn)擊右下角的網(wǎng)頁(yè)測(cè)試按鈕測(cè)試采集數(shù)據(jù)是否正常。
測(cè)試是否能采集到需要的網(wǎng)址
讓機(jī)器采集一部分列表頁(yè)數(shù)據(jù)就可以停止了,然后看到采集的數(shù)據(jù)是比較多的,有些數(shù)據(jù)不是我們需要的數(shù)據(jù)頁(yè),所以我們需要將其排除。
查閱到內(nèi)容頁(yè)的地址為/n/(*).html,所以我們可以用網(wǎng)頁(yè)格式去鎖定采集地址。
確定地址欄規(guī)則
在鏈接過(guò)濾處選擇鏈接包含并填入剛才的格式
過(guò)濾不需要的鏈接
接下來(lái)發(fā)現(xiàn)內(nèi)容頁(yè)地址采集正常。
正確獲取需要的地址
接下來(lái)我們就需要寫內(nèi)容頁(yè)的采集規(guī)則,這里比較復(fù)雜,需要認(rèn)真看。在最近的測(cè)試中,發(fā)現(xiàn)對(duì)于新手來(lái)說(shuō)也并不是難事,因?yàn)檫壿嬕粯拥模嗳フ{(diào)試就行了。
進(jìn)入內(nèi)容采集規(guī)則頁(yè)面,內(nèi)置有標(biāo)題和內(nèi)容,這里我多加兩條數(shù)據(jù)“作者”和“日期”,以便大家更深理解。
內(nèi)容采集規(guī)則
我們?cè)诓杉^(guò)程中可能需要更多的數(shù)據(jù),基本上都可以按照我說(shuō)的操作采集出來(lái)。
同樣,在文章頁(yè)面右擊調(diào)出源代碼,我按標(biāo)題、作者、時(shí)間、內(nèi)容的順序教大家寫采集規(guī)則。
首先,我們查找到文章標(biāo)題的位置,確定位置在<h1>標(biāo)簽內(nèi),其實(shí)大部分的頁(yè)面都是<h>標(biāo)簽,只是里面的樣式不同而已。
找到標(biāo)題位置
<h1 class="entry-title">標(biāo)題</h1>
接著直接看后面的代碼,通過(guò)一些標(biāo)志,看到作者和時(shí)間,這時(shí)候就確定了時(shí)間和地址。
找到作者和日期位置
<a class="nickname url fn j-user-card">作者</a> </span> <span class="dot">?</span> <time class="entry-date published" datetime="2022-10-31T08:17:06+08:00" pubdate> 2022年10月31日 08:17:06 </time>
然后再看接下來(lái)的內(nèi)容,去找找內(nèi)容的代碼。
通過(guò)文章內(nèi)容找到旁邊的div標(biāo)簽是唯一識(shí)別的標(biāo)簽(經(jīng)驗(yàn)之談,一般在class中包含content),咱們就可以確定內(nèi)容的開始標(biāo)簽。
找到內(nèi)容位置
<div class="entry-content text-indent">
同樣的方法,找到結(jié)尾詞旁邊的標(biāo)簽為:
<div class="entry-readmore">
這就確定了標(biāo)題、作者、時(shí)間、內(nèi)容了,接下來(lái)需要去軟件內(nèi)寫清楚規(guī)則。
我們提取標(biāo)題優(yōu)先選擇正則提取,并將復(fù)制的所有變量在匹配內(nèi)容中用[參數(shù)]代替,在組合結(jié)果中直接點(diǎn)擊[參數(shù)1]。
設(shè)置標(biāo)題提取規(guī)則
同樣我也選擇用正則提取,由于某些數(shù)據(jù)是變量且不需要,我們直接用(*)代替即可,需要的內(nèi)容用[參數(shù)]替代,并在組合結(jié)果中選擇[參數(shù)1]。
設(shè)置作者提取規(guī)則
因?yàn)槲蚁虢o大家講一下為什么有[參數(shù)1]、[參數(shù)2]、[參數(shù)N],所以我使用多個(gè)參數(shù)進(jìn)行舉例。
在這里,我把標(biāo)簽中的參數(shù)作為我的結(jié)果,將標(biāo)簽中的內(nèi)容直接丟掉了,但是獲取的結(jié)果是一樣的。
設(shè)置日期提取規(guī)則
所以在寫規(guī)則的時(shí)候也不一定要中規(guī)中矩按別人教你的來(lái),只要保證數(shù)據(jù)準(zhǔn)確就行。
④內(nèi)容 這里不需要多說(shuō),因?yàn)榍懊嫖覀兎治鲞^(guò),前后截取的代碼已經(jīng)知道,直接填進(jìn)去。
設(shè)置內(nèi)容提取規(guī)則
但是要考慮到不同頁(yè)面中的開頭和結(jié)尾可能是變量,所以我們要多打開一些文章去查看網(wǎng)頁(yè)代碼,畢竟某些頁(yè)面開頭有引言,有的結(jié)尾有版權(quán)聲明。
現(xiàn)在規(guī)則寫好了,我們需要找個(gè)頁(yè)面測(cè)試下,我們發(fā)現(xiàn)數(shù)據(jù)采集是正確的,現(xiàn)在基本的采集就完成了。
找?guī)讉€(gè)頁(yè)面測(cè)試下
對(duì)于我來(lái)說(shuō),AI寫作訓(xùn)練不需要標(biāo)簽,所以我需要在采集的時(shí)候直接過(guò)濾掉,所以我在內(nèi)容標(biāo)簽下的數(shù)據(jù)處理中,選擇html標(biāo)簽過(guò)濾,直接全選了所有標(biāo)簽。為了閱讀方便,我取消了換行和所有標(biāo)簽,當(dāng)然我們也可以通過(guò)對(duì)數(shù)據(jù)的處理輸出我們需要的內(nèi)容。
html標(biāo)簽過(guò)濾
html標(biāo)簽過(guò)濾
我們不設(shè)置內(nèi)容發(fā)布規(guī)則的話,會(huì)導(dǎo)致文章采集了無(wú)法輸出。
由于我只需要將數(shù)據(jù)輸出為文檔供AI學(xué)習(xí),包括web在線發(fā)布和導(dǎo)入數(shù)據(jù)庫(kù)都包含比較復(fù)雜的對(duì)應(yīng)關(guān)系,所以輸出這里我只講保存本地文件這一項(xiàng)。
內(nèi)容發(fā)布規(guī)則
我們將本地文件保存打開,以txt文件格式輸出為例,我們選擇txt,并設(shè)置保存位置為自定義位置,文件模板我使用的是:
文章格式
把它保存為txt文件,并將文件模板選擇為這個(gè)文件,軟件就會(huì)按照這個(gè)格式去輸出文章了。
所有設(shè)置都配置好了之后就直接保存并退出,然后進(jìn)入主頁(yè)面,勾選任務(wù)右邊的“采網(wǎng)址”、“采內(nèi)容”、“發(fā)布”復(fù)選框,右擊任務(wù)并選擇開始即可,如果看到運(yùn)行日志中運(yùn)行正常就可以讓它靜默采集了,如果有提示錯(cuò)誤,分析錯(cuò)誤產(chǎn)生原因,然后對(duì)癥下藥就行了。
直接采集并發(fā)布
以下是輸出的案例:
采集到的內(nèi)容
我們?cè)诓杉幸欢ú粫?huì)像我說(shuō)得這么簡(jiǎn)單,所以我把我遇到的坑提前告知大家,以免大家走彎路。
采集的數(shù)據(jù)為空白有一部分原因是原文就是空白的,比如網(wǎng)頁(yè)上面的問(wèn)答,如果沒(méi)有回答,他的內(nèi)容就是空的。還有就是采集規(guī)則不適用于所有頁(yè)面,重新制定新的規(guī)則,保證所有數(shù)據(jù)能夠輸出為止。
有時(shí)候我們采集的數(shù)據(jù)是全空,這大概率是因?yàn)榫W(wǎng)速問(wèn)題或者是網(wǎng)站問(wèn)題,重新采集即可,因?yàn)闆](méi)有采集到的數(shù)據(jù)會(huì)標(biāo)注未采和未發(fā)。
由于某篇文章在不同的標(biāo)簽或者板塊下,軟件不會(huì)直接幫你過(guò)濾,但是我們可以通過(guò)設(shè)置標(biāo)簽下的內(nèi)容過(guò)濾,勾選“采集內(nèi)容不得為空重復(fù)”的按鈕。(勾選“采集內(nèi)容不得為空”也可以解決問(wèn)題1)
內(nèi)容過(guò)濾
這里我們?cè)诓杉髸?huì)發(fā)現(xiàn)有很多版權(quán)詞或者一些需要過(guò)濾的詞,不必重新設(shè)置采集規(guī)則,而是在本地?cái)?shù)據(jù)中,選擇所有數(shù)據(jù),并對(duì)特定標(biāo)簽中的特定內(nèi)容直接進(jìn)行替換或者過(guò)濾即可。
替換內(nèi)容
以上原創(chuàng)教程僅用于學(xué)術(shù)交流,請(qǐng)勿搬運(yùn)或用于不法用途,大佬請(qǐng)直接關(guān)閉本文。
網(wǎng)站建設(shè)中;
讓復(fù)選框全部選中和全部取消是比較常用的;
下面就介紹如何用一句話搞定全選功能;
其實(shí)很簡(jiǎn)單;
代碼在下面;
JavaScript部分:
function checkAll(obj){ $("#box input[type='checkbox']").prop('checked', $(obj).prop('checked')); }
html部分:
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。