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