我想收集网页中有很多这样的行的数据吗?
<a class="asdf" href="http://url.com/jkl/0123/qwer">String</a>
从这一行开始,我需要网址(0123
)和String
中的数字。
我可以想出如何获得数字,但我对String
有疑问。我有这个代码,它收集数组中的数字:
var titles = document.getElementsByClassName("link-title");
var ids=[];
var tmp;
var i;
for (i=0; i<titles.length; i++) {
tmp=titles[i].toString().split("/");
ids.push(tmp[4]);
}
是否可以从String
获取titles
?我对javascript完全愚蠢,虽然我学习了java和一些xml而且我可以在java中做,但是网页有DDoS保护,所以我无法连接/下载它。
答案 0 :(得分:2)
从.toString()
返回的内容是DOM节点。 for (i=0; i<titles.length; i++) {
ids.push( titles[i].href );
}
函数不是很有用,但DOM API可以让你获取属性和节点内容:
href
这会将.split()
属性提取到数组中。 (如果你想要一些URL,你仍然可以点for (i=0; i<titles.length; i++) {
ids.push( titles[i].textContent );
}
。)如果你想要文本:
for (i=0; i<titles.length; i++) {
ids.push( titles[i].textContent || titles[i].innerText );
}
要与Internet Explorer兼容,那就是:
{{1}}