网页爬虫 - python爬虫爬取携程网的酒店评论数据时,有个请求参数不知道是怎么生成的?
阿神
阿神 2017-04-18 09:24:53
0
4
1002

比如这个酒店:http://hotels.ctrip.com/hotel/dianping/1943326.html
酒店的点评数据是通过ajax方式异步加载的,不想用模拟浏览器的方式来爬,太慢了,想直接请求点评数据的地址,但是这个eleven参数不知道是怎么生成的,在网页源码中没找到,分析js代码也没看出个所以然来,请大神来分析下,多谢了

阿神
阿神

闭关修行中......

répondre à tous(4)
迷茫

C'est en effet un peu pervers, mais vous pouvez simuler l'accès au téléphone mobile (changer d'agent utilisateur). Vous pouvez obtenir des données de commentaires, qui sont du HTML statique
http://m.ctrip.com/html5/hotel. /HotelDetail/dianping /1943326.html
Regardez attentivement la demande. Il y a un js compressé qui calcule les paramètres.

迷茫

Ne vous inquiétez pas de la façon dont il est généré, soyez plus violent, apportez tous les en-têtes, tous les paramètres sont les mêmes, ça doit être OK

伊谢尔伦

On dirait qu'il peut être codé ou crypté en base64. En ce qui concerne d'autres paramètres, on soupçonne qu'il s'agit d'un paramètre de signature destiné à empêcher la saisie.

左手右手慢动作

est généré par le code suivant, que je n'arrive pas à comprendre :
,_getElevenValue:function(e){

function o(e){
    for(var o=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],n="",t=0;e>t;t++){
        var i=Math.ceil(25*Math.random());
        n+=o[i]
    }
    return n
}
    
var n,t=o(7),i=!1;
if(!hotelDomesticConfig.cas.OceanBall)return e.resolve("");
for(;window[t];)
  t=o(15);
n=hotelDomesticConfig.cas.OceanBallUrl+"?callback="+t+"&_="+(new Date).getTime()
 ,window[t]=function(o){
                   window[t]=void 0;
                   var n="";
                   try{n=o()}
                   catch(a){$.ajax("/domestic/cas/image/bi"
                       ,{method:$.AJAX_METHOD_POST,cache:!1,context:{value:"11-"+encodeURIComponent(a.stack||a)}})
                   }
                   finally{i=!0,e.resolve(n)}
 }
 ,$.loader.js(n,{onload:function(){i||(window[t]=void 0,e.reject(""))},onerror:function(o){o&&(window[t]=void 0),e.reject("")}})

}

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!