刮掉动态航班信息

时间:2014-08-29 07:44:02

标签: html xpath web-scraping

我想刮掉前5名(动态)抵达航班和离境航班(主页schiphol.nl上的另一个标签)。对于到达的航班,我输入了:

url = "www.schiphol.nl"
doc <- htmlParse(url)
xpathSApply(doc, "//ul[@class='flights']//tr", xmlValue)

给我结果为NULL 请帮助我在df +中显示5个到达的航班,在其他DF中获得5个离开的航班,甚至更好。 thnkx

在HTML结构中,我看到我需要的抵达航班的非结构化列表具有以下规格:

<ul class="flights" id="f238226">
 <li id="tabS1" class="arrivals selected">
  <a href="/Reizigers/Vluchttijden/Aankomsttijden.htm" onclick="return selecttabA(1);">Aankomst</a>
 </li>
 <li id="tabS2" class="departures">
  <a href="/Reizigers/Vluchttijden/Vertrektijden.htm" onclick="return selecttabA(2);">Vertrek</a>
 </li>
</ul>
<li id="tabS1" class="arrivals selected"><a

<div id="tab1">
<h2>Aankomst</h2>
<form action="/Reizigers/Vluchttijden/Aankomsttijden.htm"  method="get"  name="adv_flight_search" autocomplete="off">
</form>
<table>
<thead>
    <tr>
      <th>Schema</th>
      <th>Vlucht</th>
          <th>Herkomst</th>
      <th>Opmerkingen</th>
    </tr>
</thead>
<tbody>
              <tr class="mark">
              <td>13:15</td>
              <td>AF 8387</td>
              <td>Quito</td>
            <td>Geland</td>
</tbody>
</table> 

1 个答案:

答案 0 :(得分:0)

您当前的XPath表达式:

"//ul[@class='flights']//tr"

正在寻找具有属性ul且价值为“航班”的class个元素,并选择所有后代元素tr

然而,似乎你所追求的不是tr元素,这也意味着数据在一个表中,但在一个无序列表中。请尝试以下表达式。

"//ul[@class='flights']/li"

如果这没有帮助,您可能需要透露您想要查找的内容并显示更多HTML。