1

我想创建一个下载 html、解析表格并将其保存到电子表格的脚本。我被困在下载和解析上。

表的 Xpath 是:

/html/body/table/tbody/tr[5]/td/table/tbody/tr/td[2]/table

目前我被困在解析 Xpath 上。

function fetchIt() {
var fetchString="http://www.zbranebrymova.com/index.php?s_lev=22&type=nabku*signa"
var response = UrlFetchApp.fetch(fetchString);

var xmlDoc = Xml.parse(response.getBlob().getDataAsString(),true);
var b = xmlDoc.getElement().getElement("body").getElement("table") ;

Logger.log(b);
}
4

1 回答 1

1

我不知道这是否会有所帮助,这是我的表格解析代码的片段:

html 文件 FOO.HTM:

<html>
<head> </head>
<body style="margin-left:10px">
  <table title="">
    <tbody>
      <tr>
        <th align="center" abbr="Sunday">Sun</th>
        <th align="center" abbr="Monday">Mon</th>
      </tr>
      <tr>
        <td align="left"><a title="January 01">1</a>
          <div>Joe,Doe</div>
          <div>Murphy,Jack</div>
        </td>
        <td align="left"><a title="January 02">2</a>
          <div>Carlson,Carl</div>
          <div>Guy,Girl</div>
          <div>Lenin,Vladimir</div>
        </td>
      </tr>
    </tbody>
  </table>
</body>
<html>

这就是我解析它的方式:

function foo() {
  var page = UrlFetchApp.fetch('foo.htm');
  var rows = Xml.parse(page,true).getElement()
      .getElement("html")
      .getElement("body")
      .getElement("table")
      .getElement("tbody")
      .getElements("tr");

  for (var ii = 0; ii < rows.length; ii++) {
    var cols = rows[ii].getElements("td");
    for (var jj = 0; jj < cols.length; jj++) {
      var divs = cols[jj].getElements("div");
      for (var kk = 0; kk < divs.length; kk++) {
        var div = divs[kk];
      }
    }
  }
}

干杯,肖恩

于 2013-12-16T02:44:51.043 回答