Java 识别与新闻发布页面相关的链接

Java 识别与新闻发布页面相关的链接,java,html,screen-scraping,jsoup,Java,Html,Screen Scraping,Jsoup,我的任务是找到一个给定链接的实际新闻稿链接。比如说 我的工具必须从上面的URL中单独查找新闻稿链接,不包括在该站点中找到的其他广告链接、选项卡链接(或其他任何链接) 下面的程序是开发出来的,它给出的结果是,给定网页中存在的所有链接 如何修改下面的程序,从给定的URL单独查找新闻稿链接? 此外,我希望该程序是通用的,这样它就可以从任何新闻发布URL(如果给定)中识别新闻发布链接 import java.io.*; import java.net.URL; import java.net.URLCo

我的任务是找到一个给定链接的实际新闻稿链接。比如说

我的工具必须从上面的URL中单独查找新闻稿链接,不包括在该站点中找到的其他广告链接、选项卡链接(或其他任何链接)

下面的程序是开发出来的,它给出的结果是,给定网页中存在的所有链接

如何修改下面的程序,从给定的URL单独查找新闻稿链接? 此外,我希望该程序是通用的,这样它就可以从任何新闻发布URL(如果给定)中识别新闻发布链接

import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;
import org.jsoup.nodes.Document;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element; 
public class linksfind{
public static void main(String[] args) {
    try{
         URL url = new URL("http://www.apple.com/pr/");
         Document document = Jsoup.parse(url, 1000); // Can also take an URL.
         for (Element element : document.getElementsByTag("a")) {
             System.out.println(element.attr("href"));}
             }catch (Exception ex){ex.printStackTrace();}
}
}

我不认为会有任何明确的方式来实现这一点。您可以创建一组所有可能的关键字,如“press”、“release”和“pr”等,并使用regex等匹配URL以查找关键字。这一正确性将取决于您的关键字集的全面程度。

今天查看该网站。缓存到您看到的任何链接的文件。明天看看这个网站;有没有新的链接是指向新闻文章的链接?你会得到错误的结果-一次-任何时候他们改变你周围的页面的其余部分


你可以,你知道,只需使用提供的提要,它被设计为完全满足你的要求。

你需要找到一些定义“新闻发布链接”的属性。对于该站点,指向“/pr/library/”表示它是一个苹果新闻稿。

查看HTML源代码。在普通webbrowser中打开页面,右键单击并选择“查看源”。您必须在HTML文档树中找到一个路径来唯一标识这些链接

它们都位于
    元件内的
      元件中。相应的CSS选择器将是
      “div#releases ul.stories a”

      下面是它的外观:

      public static void main(String... args) throws Exception {
          URL url = new URL("http://www.apple.com/pr/");
          Document document = Jsoup.parse(url, 3000);
          for (Element element : document.select("div#releases ul.stories a")) {
              System.out.println(element.attr("href"));
          }
      }
      
      到目前为止,这会产生您想要的结果:

      /pr/library/2010/07/28safari.html /pr/library/2010/07/27imac.html /pr/library/2010/07/27macpro.html /pr/library/2010/07/27display.html /pr/library/2010/07/26iphone.html /pr/library/2010/07/23iphonestatement.html /pr/library/2010/07/20results.html /pr/library/2010/07/19ipad.html /pr/library/2010/07/19alert_results.html /pr/library/2010/07/02appleletter.html /pr/library/2010/06/28iphone.html /pr/library/2010/06/23iphonestatement.html /pr/library/2010/06/22ipad.html /pr/library/2010/06/16iphone.html /pr/library/2010/06/15applestoreapp.html /pr/library/2010/06/15macmini.html /pr/library/2010/06/07iphone.html /pr/library/2010/06/07iads.html /pr/library/2010/06/07safari.html /pr/library/2010/07/28safari.html /pr/library/2010/07/27imac.html /pr/library/2010/07/27macpro.html /pr/library/2010/07/27display.html /pr/library/2010/07/26iphone.html /pr/library/2010/07/23iphonestatement.html /pr/library/2010/07/20results.html /pr/library/2010/07/19ipad.html /pr/library/2010/07/19alert_results.html /pr/library/2010/07/02appleletter.html /pr/library/2010/06/28iphone.html /pr/library/2010/06/23iphonestatement.html /pr/library/2010/06/22ipad.html /pr/library/2010/06/16iphone.html /pr/library/2010/06/15Applestorepa.html /pr/library/2010/06/15macmini.html /pr/library/2010/06/07iphone.html /pr/library/2010/06/07iads.html /pr/library/2010/06/07safari.html
      要了解有关CSS选择器的更多信息,请阅读和。

      您的意思是说搜索网站中找到的URL中的关键字并选择它们吗?是的。关键字或关键字组合您没有利用Jsoup的powers.am为非rss提要页面分配此任务。。。因此,寻找解决方案的问题。。。欢迎您提出宝贵的建议。。。如果有..@Anand,那么,在这种情况下,创建您自己的网站,并备份RSS提要,然后解析该网站。如果你选择同时编写一个知识检索引擎和一个推理引擎,那么解决方案就更难了。但这是否适用于所有的网页??????请告知。我需要一些通用的解决方案。不仅仅是apple.com,HTML解析永远不会是通用的。您最多可以使Java代码动态化,这样您就可以在一些配置文件中得到链接和选择器的映射。注:一个问号就足够表示一个问题了。