首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >制作从研究论文中提取的参考资料列表并下载。

制作从研究论文中提取的参考资料列表并下载。
EN

Stack Overflow用户
提问于 2017-06-12 20:36:40
回答 1查看 94关注 0票数 0

我需要在一篇研究论文中列出一份参考文献。我已经从pdf中提取,并将它们全部存储在txt文件中。问题是,当我运行下面的代码时,它似乎在列表中,在控制台中,它们只在一行。我不能分享输出,因为堆栈溢出不会让我。我需要你帮我把它们妥善储存起来。密码

列出清单的代码:

代码语言:javascript
运行
复制
Scanner s = new Scanner(new File("D:\\ref.txt"));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext()){
    list.add(s.next());

}
System.out.println("LIST:" +list);
s.close();   

tHE输出:

列表:[参考文献::、1、J.、Bailey、、C.、Zhang、、D.、Budgen、M.、Turner和S.、S.、Charters、“搜索引擎、重叠、:、做、他们、同意,还是不同意?”,在,第二,国际讲习班,关于,基于证据的,软件,工程,(REBSE,'07),,,2007年,p.,2,2.,在线查阅:,all.jsp?arnumber=42732,74,2,K.,Yang,和,L.,I.,Meho,“引文,分析:,A,比较,谷歌,学者,scopus,和,web,of,Science”,在,第69届,年度,会议,为,信息,科学和技术,,,奥斯汀,(美国),2006年,页,3,-,8,和+10引用,不允许分享。

在我完成列表之后,我需要在google上运行这个列表,这样列表中的所有文件都会被下载。我有要下载的代码,但它只能下载一篇论文。我想下载我刚才做的完整列表。守则:

代码语言:javascript
运行
复制
try {
   //var a= doc.replace(" ","+");

    Document doc = Jsoup
            .connect("https://scholar.google.com.pk/scholar?hl the paper I want")
            .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36")
            .get();

    String title = doc.title();
    System.out.println("title : " + title);


    Elements links = doc.select("div.gs_ggsd").select("a[href]");
    //Element  = doc.select("div.gs_ggs gs_fl").first();

    for (Element link : links) {
        //System.out.println("\nlink : " + link.attr("href"));
        URL website = new URL(link.attr("href"));
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("D:\\paper.pdf");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
} 
       // System.out.println("text : " + link.text());
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-12 21:40:54

试着逐行抓取。向我们展示在尝试以下代码时得到的输出

代码语言:javascript
运行
复制
    Scanner s = new Scanner(new File("D:\\ref.txt"));
    ArrayList<String> list = new ArrayList<String>();
    while (s.hasNextLine()){
        list.add(s.nextLine());
    }

    for(int i = 0; i < list.size(); i++)
    {
        System.out.println(i + ":" +list.get(i));
    }

    s.close(); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44508305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档