2017-04-17 99 views
0

这里是网址: http://immobilier.nc/recherche?section=offres_vente&bien=&prix_location=&prix_vente=&pays=nc&ville=&quartier=&par_page=25&orderBy=&orderDirection=DESC&moteurRecherche_option=last_offrJSoup无法检索这个文档

这里是我的代码:

Jsoup.connect(url) 
        .timeout(10000) 
        .followRedirects(true) 
        .validateTLSCertificates(false) 
        .get(); 

的问题是,我得到不同的网页浏览器上的一个。

例如,这个标签是不是在Jsoup文件(但在浏览器中):

<tr style="cursor:pointer;" id="235005" class="showOffre setPushStat ajax" href="menu_detail_offre.php?checksum=IM-O-58cf724c03e64" data-divdest="detail_235005" data-godiv="detail_235005" data-pushstat_url="!O-235005"> 
      <td align="left" style="vertical-align:middle"><img src="/photos.immobilier.nc//gw/2017/4/_thumbs/bb3dfed8-66f6-4a6b-939a-a47b70c998ba.jpeg" width="100"></td> 
      <td nowrap="" align="left" style="vertical-align:middle"> 235005</td> 
      <td align="left" style="vertical-align:middle">Vente</td> 
      <td align="left" style="vertical-align:middle"><img src="http://immobilier.nc/images/part_promobat_mini.jpg" style="display: none !important;"> </td> 
      <td align="left" style="vertical-align:middle">Appartement</td> 
      <td align="left" style="vertical-align:middle">F3</td> 
      <td align="left" style="vertical-align:middle">Nouméa</td> 
      <td align="left" style="vertical-align:middle">Ouémo</td> 
      <td nowrap="" align="left" style="vertical-align:middle">35.278 U</td> 
      <td align="left" style="vertical-align:middle">17/04/2017</td> 
      </tr> 

回答

1

的一部分,你要显示它是第一次请求缺少的是包含报价表的内容。该表格通过ajax调用http://immobilier.nc/immo_offres.php从网页加载,然后集成到显示的网页中。

Jsoup从您显示为浏览器的url加载相同的内容,但仅加载第一页。 Jsoup不会解释页面中的JavaScript代码,也不会额外加载其他数据,因此您不会获得与浏览器加载页面时所用的内容相同的内容,并且可以使用其他ajax调用的结果填充该内容。

+0

所以解决方案是用适当的参数调用http://immobilier.nc/immo_offres.php? – Tyvain

+0

取决于你想要达到的目标。如果您想要抓取该网页的内容,那可能是一个解决方案,但请记住,这些网址可能会随时更改。 –