【自動化上網(wǎng)】半自動展開網(wǎng)頁上的可展開信息
場景:
假定有某個(gè)列出酒店可入住信息的網(wǎng)站,默認(rèn)只列出每個(gè)酒店的名字,需要點(diǎn)擊之后才能展開。
需求:
要是不用手點(diǎn)就可以展開全部信息就好了。
探索:
F12檢查網(wǎng)頁,在感興趣的元素右鍵點(diǎn)擊Inspect/檢查后發(fā)現(xiàn):
* 酒店信息未展開的時(shí)候class屬性為“折疊”(特意用中文替換了關(guān)鍵詞,避免對號入座),展開之后class屬性變成“折疊展開”;
* 酒店信息那一行除此之外的地方?jīng)]有任何改變。
* 手動修改class=“折疊”為class=“折疊展開”后,對應(yīng)的信息真的展開了
推論:
可以把所有class為“折疊”的對象的className改為“折疊展開”,
具體解決方案:
電腦瀏覽器打開網(wǎng)頁
按F12
進(jìn)入console/控制臺
輸入下列命令(執(zhí)行其他人給你的命令的時(shí)候一定要謹(jǐn)慎,有的人會發(fā)盜號盜取信息腳本):
var els = document.getElementsByClassName('折疊');
for(var i = 0, l = els.length; i < l; i++) {
? var el = els[i];
? el.className = '折疊展開';
}
可以展開全部酒店的日期列表,省得一個(gè)個(gè)點(diǎn)了~
配合使用:
展開之后在網(wǎng)頁里配合搜索(Windows: Ctrl + F; MacOS: Cmd + F)功能,加上日期比如“7月1日”,就可以快速搜索每個(gè)酒店對應(yīng)日期的情況了;
不過這個(gè)網(wǎng)頁并不是實(shí)時(shí)更新,所以??以上方法僅對偶爾刷這個(gè)網(wǎng)頁的人有用
p.s.?
* 理論上從網(wǎng)頁上是可以直接爬出來酒店的日期列表然后整理成表格的;我沒寫過這種東西也沒時(shí)間所以就不寫了
* 我看的那個(gè)網(wǎng)頁每天只更新一次,所以這個(gè)方法可能沒什么用
*???這個(gè)操作都在前端,應(yīng)該不算違規(guī),我檢查的時(shí)候注意到這些酒店列表內(nèi)容其實(shí)在搜完日期的時(shí)候已經(jīng)下載下來了,只不過是沒顯示而已,所以這個(gè)操作不會傷害官方的服務(wù)器
* 我雖然下了個(gè)油猴,但是沒搞明白;所以還是用的最笨的辦法
*?最近好忙,以上內(nèi)容是睡前一時(shí)沖動折騰出來的,我應(yīng)該沒有精力再做更好的方案了;求一起回家的大佬帶飛啊,謝謝
* 不是什么專業(yè)信息,想要直接拿走