在我需要在javascript中提取的元标记中包含信息

时间:2015-11-04 12:35:30

标签: javascript html dom web-scraping metadata

就像标题所说,我有一个元标记,我需要抓取一些信息。 Link 它来自这个网站,我试图从中提取作者从属关系。我可以使用这一行代码在使用谷歌开发工具中找到这些信息:

document.getElementsByName('citation_author_institution')

然后我回到我认为是一个看起来像这样的元素或节点数组:

[<meta name=​"citation_author_institution" content=​"Columbia University, New York">​, <meta name=​"citation_author_institution" content=​"Columbia University, New York">​, <meta name=​"citation_author_institution" content=​"Columbia University, New York">​]

现在我需要访问内容并将其保存为数组,以便将其放入我的数据库中。 我尝试了像

这样的东西
document.getElementsByName('citation_author_institution').textContent
document.getElementsByName('citation_author_institution').getAttribute('content')

但那不起作用。任何人都有任何想法或提示我如何做到这一点?

2 个答案:

答案 0 :(得分:2)

你非常接近。您需要做的是遍历节点列表:

    var elements = document.getElementsByName('citation_author_institution')
    var contents = []

    for (var i = 0; i < elements.length; i++) {
        contents.push(elements[i].content);
    }

    console.log(contents)

因此,contents将是您的内容列表。这里的例子 https://jsfiddle.net/o3Lzm4ca/

答案 1 :(得分:1)

var authors = [];
var elements = document.getElementsByName('citation_author_institution');
for (var i=0; i<elements.length; i++){
    authors.push(elements[i].content);
}
console.log(authors)