Closed fir05 closed 1 year ago
你所说的“stylebot扩展抓取的元素直接就能用”大概率是因为页内元素某一层级祖父元素的属性是随机生成的
我说的是,元素抓取器作为写新规则的工具,不是修改已有规则的工具,应该优先 nextLink。
对,uBlock Origin经常抓取到随机生成的元素名,stylebot 的css确实也和翻页的元素不是一回事。
我刚给这个没有规则的网页写了规则 https://www.acfun.cn/search?type=complex&keyword=%E5%8D%9A%E5%BE%B7%E4%B9%8B%E9%97%A8%203 第一件事就是找到nextLink,看看能不能预读。能预读了就看看能不能优化pageElement显示效果。 我想说是,nextLink 真的是最重要的。
因为nextLink是可以留空自动获取的,而大多数情况下用元素抓取器来获取 nextlink 都是不行的。例如有这样一个 nextlink,它处于一列元素中,没有特殊标记,兄弟节点个数未知,仅知道它的子文本内容是“下一套”。那元素抓取器怎么生成?类似这种情况都只能手动写选择器或者 xpath。
好的,明白了,确实各种抓取器获取的元素鲜少能有效。谢谢。
感谢反馈,acfun上其实是已经找到了下一页,但是因为acfun把后面的视频
,up主
,文章
,番剧
列表全都预加载到页面中了,而永页机找到了视频
里的下一页,然后否决了。
我更新了一版,最新版已经兼容这种情况了。
反馈两个问题。
1,为何元素抓取器默认抓取的是pageElement呢?重要的是nextLink,没有nextLink根本预读不了,没有pageElement顶多显示body。希望优先抓取nextLink,测试能正常读取了,再去追求pageElement的显示。 2,我是不会css的,元素抓取器获取的元素几乎没有能直接用的。而我用stylebot扩展抓取的元素直接就能用,不需要试错或者修改。stylebot甚至比uBlock Origin的元素抓取还要好,有的网站屏蔽广告,用uBlock Origin就抓取错误,stylebot则正常找到。