【问题标题】:Extracting URL from address bar of a browser using JAVA使用JAVA从浏览器的地址栏中提取URL
【发布时间】:2014-04-30 20:19:43
【问题描述】:

我正在做一个情绪分析项目。我正在使用 JAVA 从给定的产品 URL 中提取数据(产品评论),而用户通过浏览网站来选择产品。我需要从浏览器的地址栏中获取 URL 并将其传递给我的 JAVA 代码。如何提取 URL?如何链接这两个代码?我已经在我的 java 代码中使用 jsoup 库来从用户从 Eclipse 中的控制台指定的链接中提取评论。有什么方法可以让用户只选择产品并自动从地址栏中获取 URL?这是我用于提取评论的 JAVA 代码。 任何帮助,将不胜感激。

public class dataextraction {

  public static void main(String[] args) {

    Document doc;
    try {
            String link;
            System.out.println("Enter the link of the product to be reviewed");
        BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); 

            link=in.readLine(); 


            // need http protocol
            doc = Jsoup.connect(link).get();


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

            Elements p= doc.select("p.line.bmargin10");
            //get all links
            String text = p.text();
            System.out.println("text : " + text);

            BufferedWriter writer = null;
            try {
            writer = new BufferedWriter(new FileWriter("E:/output.txt"));
            writer.write(text);
                } 
            catch (IOException e) {
                System.err.println(e);
                }
            finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException e) {
                    System.err.println(e);
                }
            }
        }       


    } catch (IOException e) {
        e.printStackTrace();
        System.out.println(e);
    }

  }

}

【问题讨论】:

  • 你想用java提取浏览器的URL吗??
  • 你会的。我只需要提取 URL 并将其传递给 JAVA 代码。
  • 请发布代码以获取数据,以便人们可以帮助您
  • 您的 java 代码是否在 web 服务器上的 applet、单独的进程中运行...?
  • 给您带来的不便,我深表歉意。我编辑了我的问题并添加了必要的信息。

标签: java html


【解决方案1】:

尝试使用jsoup

jsoup 是一个用于处理真实世界 HTML 的 Java 库。它提供了一个非常方便的 API,用于提取和操作数据,使用 DOM、CSS 和类似 jquery 的最佳方法。

点击产品时提取

好的。可能这会有所帮助。可能您的 jsp 将为所有产品使用超链接。因此,使用 jquery 将 onlcik 函数绑定到所有产品 href。如果给定的 url 是相对路径,那么您可以使用 HttpServletRequest 的 getRequestURL() 来获取完整路径。所以脚本就像..

$('a').click(function() {
    var relativeUrl = $(this).attr("href");
    var completeLink = "<%= request.getRequestURL() %>" + relativeUrl;

    // you can now pass completeLink to your java program via ajax to get the output

    //If you want to prevent browser from navigating to that url you could return false
    return false;
});

【讨论】:

  • 我已经在我的 java 代码中使用 jsoup 库来从用户在 Eclipse 控制台中指定的链接中提取评论。有什么方法可以让用户只选择产品并自动从地址栏中获取 URL?
  • 对不起,我没有在这里得到完整的图片。您希望用户浏览 eclipse url,当他单击特定链接时,您需要获取该链接的 url 中的地址。是这样吗?
  • 上面的代码需要用户选择一个产品,复制URL然后提供给JAVA代码。所以我想知道有什么方法不需要用户复制 URL。是否可以直接从浏览器地址栏获取URL并提供给JAVA代码?
  • 在上面的代码中,如果您手动提供任何产品的链接,那么它会从该 URL 中提取所有用户评论。我只需要自动化这个过程,即它应该在用户选择任何产品时自动获取 URL。
  • 不好意思继续提问,但是什么动作应该触发java程序呢?我的意思是您应该在单击链接时执行程序还是要单击链接然后手动运行 java 程序以获取 url?
猜你喜欢
  • 2015-02-09
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
  • 2012-03-18
相关资源
最近更新 更多