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