欢迎光临散文网 会员登陆 & 注册

【自动化上网】半自动展开网页上的可展开信息

2022-06-09 13:09 作者:米糊炒面呐呐呐  | 我要投稿

场景:
假定有某个列出酒店可入住信息的网站,默认只列出每个酒店的名字,需要点击之后才能展开。

需求:

要是不用手点就可以展开全部信息就好了。

探索:

F12检查网页,在感兴趣的元素右键点击Inspect/检查后发现:

* 酒店信息未展开的时候class属性为“折叠”(特意用中文替换了关键词,避免对号入座),展开之后class属性变成“折叠展开”;

* 酒店信息那一行除此之外的地方没有任何改变。

* 手动修改class=“折叠”为class=“折叠展开”后,对应的信息真的展开了

推论:

可以把所有class为“折叠”的对象的className改为“折叠展开”,

具体解决方案:

电脑浏览器打开网页

按F12

进入console/控制台

输入下列命令(执行其他人给你的命令的时候一定要谨慎,有的人会发盗号盗取信息脚本):

var els = document.getElementsByClassName('折叠');

for(var i = 0, l = els.length; i < l; i++) {

  var el = els[i];

  el.className = '折叠展开';

}


可以展开全部酒店的日期列表,省得一个个点了~


配合使用:

展开之后在网页里配合搜索(Windows: Ctrl + F; MacOS: Cmd + F)功能,加上日期比如“7月1日”,就可以快速搜索每个酒店对应日期的情况了;

不过这个网页并不是实时更新,所以😅以上方法仅对偶尔刷这个网页的人有用

p.s. 

* 理论上从网页上是可以直接爬出来酒店的日期列表然后整理成表格的;我没写过这种东西也没时间所以就不写了

* 我看的那个网页每天只更新一次,所以这个方法可能没什么用

* 😅这个操作都在前端,应该不算违规,我检查的时候注意到这些酒店列表内容其实在搜完日期的时候已经下载下来了,只不过是没显示而已,所以这个操作不会伤害官方的服务器

* 我虽然下了个油猴,但是没搞明白;所以还是用的最笨的办法

* 最近好忙,以上内容是睡前一时冲动折腾出来的,我应该没有精力再做更好的方案了;求一起回家的大佬带飞啊,谢谢

* 不是什么专业信息,想要直接拿走



【自动化上网】半自动展开网页上的可展开信息的评论 (共 条)

分享到微博请遵守国家法律