【发布时间】:2017-09-27 05:42:51
【问题描述】:
我正在使用以下脚本从网页中提取源 HTML:
var url = "http://www.asx.com.au/asx/markets/dividends.do?by=asxCodes&asxCodes=BHP";
var xmlFeed = UrlFetchApp.fetch(url).getContentText();
检查 xmlFeed 文本,我发现它与使用浏览器看到的页面源相比已被截断,并且我正在寻找的数据(股息数据表)不存在。事实上,唯一剩下的 HTML 似乎是在
我认为这可能是因为股息数据是由脚本生成的,但在我的浏览器中禁用 javascript 后,我仍然可以在页面源中看到数据(以下精简版):
<table class="datatable" id="dividends" cellspacing="0">
<tr>
<th class="row" scope="row">
<a onclick="trackAsxCodeClick('BHP')" href="/asx/share-price-research/company/BHP">BHP</a>
</th>
<td>BHP BILLITON LIMITED</td>
<td>
18.521c
</td>
<td>
01/09/2016
</td>
我还使用 Python 中的 beautifulsoup 库成功抓取了数据,它告诉我数据必须在源 HTML 中,而不是由脚本生成。
【问题讨论】:
-
尝试设置
xmlFeed.substr(-1000),如相关 SO post 中所述。这是为了检查您是否收到但只看到页面的一部分。希望这会有所帮助。 -
感谢您的回复,但这不是问题所在。我已将 HTML 导出到文件并确认它超过 1000 个字符 (64945)。
标签: javascript html google-apps-script google-sheets urlfetch