如果我知道我想要的信息在一个站点上的什么位置,我怎么能在javascript中抓取它呢?

如果我知道我想要的信息在一个站点上的什么位置,我怎么能在javascript中抓取它呢?,javascript,jquery,html,xpath,web-scraping,Javascript,Jquery,Html,Xpath,Web Scraping,我有个问题,我知道我想从一个网站上获取什么信息,我也知道这些信息在哪里。我知道它在哪个类中,也知道xpath 我遇到的问题是,无论我尝试什么,似乎我都无法刮取内容 这是我的刮片功能: 函数刮取(文档、url){ var itemType=detectWeb(doc,doc.location.href); var关键字=新数组(); var关键字text=doc.evaluate('//div[span=“Index Terms:”]/div',doc,null,XPathResult.ANY_T

我有个问题,我知道我想从一个网站上获取什么信息,我也知道这些信息在哪里。我知道它在哪个类中,也知道xpath

我遇到的问题是,无论我尝试什么,似乎我都无法刮取内容

这是我的刮片功能:

函数刮取(文档、url){
var itemType=detectWeb(doc,doc.location.href);
var关键字=新数组();
var关键字text=doc.evaluate('//div[span=“Index Terms:”]/div',doc,null,XPathResult.ANY_TYPE,null)。iterateNext();
if(keywordText)keywords=(Zotero.Utilities.trimminternal(keywordText.textContent.toLowerCase()).split(“,”);
var attachments=新数组();
var notes=新数组();
附件.推({
文件:doc,,
mimeType:“text/html”,
标题:“IEEE计算机快照”
});
var htmls=doc.evaluate('//img[@src=“/plugins/images/digitalLibrary/dl_html_icon.gif”]/concenter::a',doc,null,XPathResult.ANY_TYPE,null);
var-htmlDoc;
//测试
//var affiliation=doc.getElementsByTagName('meta')[property='引文\作者\机构].内容;
//var关联=[];
var摘要;
if(htmlDoc=htmls.iterateNext()){
//var urlField=htmlDoc.attributes.getNamedItem(“onclick”).value;
var urlField=htmlDoc.href;
urlField=urlField.substr(urlField.indexOf(“”)+1);
urlField=urlField.substr(0,urlField.indexOf(“”);
if(urlField.indexOf(“?”>-1){
urlField+='&'+模板;
}否则{
urlField+='?'+模板;
}
URL字段=”http://www2.computer.org“+urlField;
var mimeTypeField=“text/html”;
var titleField=“IEEE计算机全文快照”;
var附件={
url:urlField,
mimeType:mimeTypeField,
标题:titleField
};
附件。推送(附件);
}
var pdfurl=ZU.xpathText(doc,//div[@class=“abs pdf”]/a/@href')
if(pdfurl){
var mimeTypeField=“应用程序/pdf”;
var titleField=“IEEE计算机全文PDF”;
var附件={
网址:pdfurl,
mimeType:mimeTypeField,
标题:titleField
};
附件。推送(附件);
}否则{
notes.push({
注意:“完整的PDF文档不可用或无法访问。请确保您已登录到数字图书馆以检索完整的PDF文档。”
});
}
var bibtex=doc.evaluate('//div[@id=“bibText content”]”,doc,null,XPathResult.ANY_TYPE,null)。iterateNext();
var bibtexlink=ZU.xpathText(doc,//li/a[contains(text(),“BibTex”)和contains(@href,.bib”)]/@href')
if(bibtex){
bibtex=bibtex.textContent;
//bibtex=bibtex.substring(bibtex.indexOf(“document.write(“”)+16,bibtex.indexOf(“”);Popup.document.close();”);
//作为bibtex翻译器的变通方法显然需要在第一个大括号后加上空格
bibtex=Zotero.Utilities.cleanTags(bibtex);
bibtex=Zotero.Utilities.trimInternal(bibtex);
var translator=Zotero.loadTranslator(“导入”);
translator.setTranslator(“9cb70025-a888-4a29-a210-93ec52da40d4”);
translator.setString(bibtex);
setHandler(“itemDone”,函数(obj,item){
如果(item.url){//将http添加到url
item.url=“http://”+item.url;
}
如果(itemType)item.itemType=itemType;
item.attachments=附件;
如果(关键字)item.tags=关键字;
如果(注释)item.notes=注释;
如果(item.DOI)item.DOI=item.DOI.replace(/^.*10\./,“10”);
//隶属关系
/*国际单项体育联合会(附属机构)
{
对于(i=0;i

我使用Firebug来定位这些信息的存储位置,并在
div=“tabs main”
class=“article”
中找到了它

它看起来像这样:

<div id="tabs-main">
            <!-- place holder -->
<div class="tab-content" id="articleDetails" role="main" data-section="articleDetails.ajax" 
 >
<div class="article-blk">



<div class="article">
  (I want this)-->  <p>Distributed database systems (DDBS) have received considerable attention in recent years. Being a relatively young research field, there are still many problems associated with DDB systems that need solution. Concurrency control is one of these problems and, probably, the most extensively studied. However, most of the work has concentrated on the development of alternative solutions and the field seems to be ready for some comparative analysis work. This paper reports the results of a performance evaluation study on distributed database concurrency control algorithms. The research has resulted in the development of a formalism, based on Petri nets, for modeling and analysis purposes. The formalism, called the Extended Place/Transition Nets (EPTN), is both descriptively powerful in that it can be used to model various algorithms precisely and succinctly and to communicate them in a clear manner, while at the same time lending itself to be used as a performance evaluation tool. An EPTN simulator is implemented and various algorithms are studied using this tool. This paper describes both the formalism and the performance results that have been obtained.</p>
            </div>

(我想要这个-->分布式数据库系统(DDBS)近年来受到了相当多的关注。作为一个相对年轻的研究领域,DDB系统仍有许多相关问题需要解决。并发控制是这些问题之一,可能是研究最广泛的问题之一。然而,大多数工作都集中在开发替代解决方案上s和该领域似乎已经准备好进行一些比较分析工作。本文报告了分布式数据库并发控制算法性能评估研究的结果。该研究开发了一种基于Petri网的形式主义,用于建模和分析目的。这种形式主义称为扩展位置/过渡网络(EPTN),这两个功能都非常强大,因为它可以精确、简洁地建模各种算法,并以清晰的方式进行通信,同时也可以用作性能评估工具。实现了一个EPTN模拟器,并使用该工具研究了各种算法。本文描述了形式主义和已获得的性能结果

在Firebug中,我还得到了XPath,它是:
/html/body/div[2]/div[8]/div/div[2]/div/div[2]/div[1]/div/div[1]

但我不知道如何才能得到这些内容。我已经试过了
var abstracts=doc.querySelector(“.article”).innerHTML;

我已经用
doc.getElementByClassName()
进行了尝试

但是我永远无法得到内容,var总是空的。
有人有主意了?

你是如何访问文档的?如果它是跨源代码,这就是你的问题,SOP会阻止从源代码a运行的页面中的JavaScript代码访问源代码B中的页面内容(即使它有对该文档的引用,例如在帧的情况下).Hmm,不太清楚你的意思。如果我有跨源代码,我怎么能确定?我正在使用DOI访问文档,如果这是你的意思的话?我从本地的db获得DOI,并使用它重定向我