去哪儿价格返回的是 html ,通过 css 定位,显示出价格。
<div class="qt-light-orange qt-font20 qunar_mix">
<span class="price" style="width:33px">
<i class="qm18d6dd7e">2</i>
<i class="qmacf0943b">2</i>
<i class="qm11251921">2</i>
<i class="qm5c6d111c">5</i>
<i class="qmbd09efa2">8</i></span>
</div>
css 如下:
.qunar_mix span.price i {
position: absolute;
left: 0;
bottom: -1px;
font-style: normal;
background: #f0f0f0;
height: 100%;
}
.qunar_mix span.price i.qm5c6d111c{left: -100px; margin-left:300px;background:none;}
.qunar_mix span.price i.qmcf5711c8{left: -100px; margin-left:22px; padding-left:22px; background:none;}
.qunar_mix span.price i.qmbd09efa2{left: 0px; margin-left:11px; padding-left:11px; background:none;}
.qunar_mix span.price i.qm18d6dd7e{left: -33px; margin-left:11px; padding-left:33px; background:none;}
.qunar_mix span.price i.qm11251921{left: -22px; margin-left:11px; padding-left:11px; background:none;}
.qunar_mix span.price i.qmca340bd1{left: 11px; margin-left:11px; padding-left:11px; background:none;}
.qunar_mix span.price i.qmc1c11156{left: 11px; margin-left:22px; padding-left:11px; background:none;}
.qunar_mix span.price i.qmacf0943b{left: -100px; padding-left:300px;background:none;}
最终显示的价格是 228 ,如何通过 css 来计算得到的价格呢。能想到的就是通过 phantomjs 渲染后截图,然后图片识别可以,但是效率不高
1
coo 2017-04-12 13:09:24 +08:00
去哪儿这招有点狠 ...
|
2
em2046 2017-04-12 13:20:56 +08:00 2
不显示.qunar_mix span.price i.qm5c6d111c{left: -100px; margin-left:300px;background:none;}
200 无 html.qunar_mix span.price i.qmcf5711c8{left: -100px; margin-left:22px; padding-left:22px; background:none;} -56 显示.qunar_mix span.price i.qmbd09efa2{left: 0px; margin-left:11px; padding-left:11px; background:none;} 22 显示.qunar_mix span.price i.qm18d6dd7e{left: -33px; margin-left:11px; padding-left:33px; background:none;} 11 显示.qunar_mix span.price i.qm11251921{left: -22px; margin-left:11px; padding-left:11px; background:none;} 0 无 html.qunar_mix span.price i.qmca340bd1{left: 11px; margin-left:11px; padding-left:11px; background:none;} 33 无 html.qunar_mix span.price i.qmc1c11156{left: 11px; margin-left:22px; padding-left:11px; background:none;} 44 不显示.qunar_mix span.price i.qmacf0943b{left: -100px; padding-left:300px;background:none;} 200 加法 然后去除 html 中没有的 然后去除过界的 然后根据加的结果数值排序。 |
4
leeg810312 2017-04-12 15:07:18 +08:00
不明觉厉,好奇怎么生成这样的 css
|
5
yaoxinghui 2017-04-12 22:22:09 +08:00
去哪儿我也抓过,不需要这样的,它的价格隐藏在返回的 html 的某个属性里,你认真观察下就知道了
|
6
dbj1991 OP @yaoxinghui <div class="qt-light-orange qt-font20 qunar_mix">
<span class="price" style="width:33px"> <i class="qm18d6dd7e">2</i> <i class="qmacf0943b">2</i> <i class="qm11251921">2</i> <i class="qm5c6d111c">5</i> <i class="qmbd09efa2">8</i></span> </div> 这就是返回的 html ,差不多半年前我也看过,是可以直接看到价格的,最近应该改了 |
7
kfll 2017-04-13 00:24:32 +08:00 via Android
…用读屏软件的遇到这些真是…
|
8
alwayshere 2017-04-13 11:40:56 +08:00 via iPhone
它不怕被搜索引擎降权么
|
9
justfun 2017-04-13 13:30:57 +08:00
反爬的丧心病狂啊
|