【发布时间】:2020-02-22 20:28:54
【问题描述】:
网页有时具有混淆/缩小的 CSS 类是正常的。这具有(可能是故意的)副作用,即由于随机类名而防止页面抓取。
页面定义明确 - 虽然每次页面加载时 html 都不同,但呈现的页面始终看起来相同。比如font-size: 20px; color: black;总是有标题,或者描述总是font-size: 15px; line-height: 1.5;等等……
是否有取消随机化类名的过程?
或者一种基于渲染样式选择元素的方法(例如font-size: 20px; color: black;)?
<div tabindex="0" class="styles__Header-sc-120s71t-1 bVobsP">
<h6 class="jss85xpic jsspbfkgl jssfrl2gs" style="max-width: 100%;">Title</h6>
<div class="styles__Description-sc-120s71t-2 cilEqp">
<p class="jss85xpic jsspbfkgl jssou361l" style="max-width: 100%;">Description</p>
</div>
<div class="styles__ItemsList-sc-120s71t-3 gyRIpM">
<div itemscope="" itemtype="http://schema.org/Product" role="button" tabindex="0" class="styles__Wrapper-sc-1xl58bi-2 gKTcIQ" style="max-width: 100%;">
<div class="styles__FlexContainer-sc-1xl58bi-4 bLvOGI">
<div class="styles__TextWrapper-sc-1xl58bi-9 liomPZ">
<div class="styles__Title-sc-1xl58bi-5 eqysaj">
<h3 class="jss85xpic jsspbfkgl jssws5ijf" style="max-width: 100%;"><span itemprop="name">Item 1</span></h3>
</div>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
去混淆器如何知道原作者的意图?至于你的第二个问题,你可以使用计算的样式来编写脚本。
-
这是一个很好的观点,不可能对类名进行去混淆处理。您是什么意思“使用计算的样式编写脚本”?有没有办法根据计算的样式进行选择,或者计算元素的计算样式?
标签: javascript html css web-scraping jss