Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jsoup在指定标记后开始解析,还是从页面底部开始?_Java_Android_Html_Html Parsing_Jsoup - Fatal编程技术网

Java Jsoup在指定标记后开始解析,还是从页面底部开始?

Java Jsoup在指定标记后开始解析,还是从页面底部开始?,java,android,html,html-parsing,jsoup,Java,Android,Html,Html Parsing,Jsoup,我有一个用Jsoup解析的HTML块,但是,并不是所有的都是相关的,解析不相关的部分会丢弃我的数据集 在站点上,有一个可以随时更改的标题。在这个标题中有链接,但我不关心这些链接。当Jsoup解析文档时,它会将这些想法添加到我的链接数组中,并抛出我的值 我感兴趣的HTML是在 标签 我希望能够告诉Jsoup忽略该标记上方的所有内容。这可能吗?如果没有,我可以通过从文档底部开始解析来解决这个问题,但我也不确定该怎么做 我的Jsoup查询如下。请忽略所有注释掉的行和调试语句,我已经尝试解决这个问题一

我有一个用Jsoup解析的HTML块,但是,并不是所有的都是相关的,解析不相关的部分会丢弃我的数据集

在站点上,有一个可以随时更改的标题。在这个标题中有链接,但我不关心这些链接。当Jsoup解析文档时,它会将这些想法添加到我的链接数组中,并抛出我的值

我感兴趣的HTML是在
标签

我希望能够告诉Jsoup忽略该标记上方的所有内容。这可能吗?如果没有,我可以通过从文档底部开始解析来解决这个问题,但我也不确定该怎么做

我的Jsoup查询如下。请忽略所有注释掉的行和调试语句,我已经尝试解决这个问题一段时间了,但仍然有测试代码

       Thread getTitlesThread = new Thread() {
            public void run() {
                TitleResults titleArray =  new TitleResults();
                StringBuilder whole = new StringBuilder();

                try {
                    URL url = new URL(
                            Constants.FORUM);
                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                    urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
                    try {
                        BufferedReader in = new BufferedReader(
                            new InputStreamReader(new BufferedInputStream(urlConnection.getInputStream())));
                        String inputLine;
                        while ((inputLine = in.readLine()) != null)
                            whole.append(inputLine);
                        in.close();
                    } catch (IOException e) {}
                    finally {
                        urlConnection.disconnect();
                    }
                } catch (Exception e) {}
                Document doc = Parser.parse(whole.toString(), Constants.FORUM);
                Elements threads = doc.select("TOPICS > .topic_title");
                Elements authors = doc.select("a[hovercard-ref]");
//              for (Element author : authors) {
//                  authorArray.add(author.text());
//              }
//              cleanAuthors();
                if (threads.isEmpty()) {
                    Log.d("POC", "EMPTY BRO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11");
                }
//              for (Element thread : threads) {
//                  titleArray =  new TitleResults();
//                  Log.d("POC", thread.toString());
//
//                  titleArray.setAuthorDate(authorArray.get(0));
//                  authorArray.remove(0);

                    //Thread title
//                  threadTitle = thread.text();
//                  titleArray.setItemName(threadTitle);
//                  
//                  //Thread link
//                  String threadStr = thread.attr("abs:href");
//                  String endTag = "/page__view__getnewpost"; //trim link
//                  threadStr = new String(threadStr.replace(endTag, ""));
//                  threadArray.add(threadStr);
//                  results.add(titleArray);
//              }
           } 
        };
        getTitlesThread.start();

根据您的描述,这应该是可行的(如果没有实际的HTML输入,很难确定):

文档=。。。;
Elements=document.getAllegements();
元素注释=null;
int size=elements.size();
for(int i=0;comment==null&&i
根据您的描述,这应该是可行的(如果没有实际的HTML输入,很难确定):

文档=。。。;
Elements=document.getAllegements();
元素注释=null;
int size=elements.size();
for(int i=0;comment==null&&i
删除文档中不希望使用的部分:

Document doc = Parser.parse(whole.toString().replaceAll("<!-- end ad tag -->?.*?<!-- BEGIN TOPICS -->", ""), Constants.FORUM);
Document doc=Parser.parse(整.toString().replaceAll(“?*”,”),Constants.FORUM);

其中,
是我想要忽略的内容的开始,而
是结束。

删除文档中不希望解析的部分:

Document doc = Parser.parse(whole.toString().replaceAll("<!-- end ad tag -->?.*?<!-- BEGIN TOPICS -->", ""), Constants.FORUM);
Document doc=Parser.parse(整.toString().replaceAll(“?*”,”),Constants.FORUM);

其中,
是我想要忽略的开始,
是结束。

我能够使用
Document doc=Parser.parse(whole.toString().replaceAll(“?*”,“)、Constants.FORUM)来实现它其中
是我想要忽略的开始,而
是结束。我能够使用
Document doc=Parser.parse(whole.toString().replaceAll(“?*”,“)、Constants.FORUM)让它工作其中,
是我想忽略的内容的开始,
是结束。如果你查看我对这个问题的评论,在开始解析元素之前,我只是删除了所有我不想要的内容。不幸的是,我的代表不够高,我无法在接下来的7个小时内回答我自己的问题。如果你查看我对这个问题的评论,在我开始解析元素之前,我只是删除了我不想要的所有内容。不幸的是,我的代表不够高,我无法在接下来的7个小时内回答我自己的问题。这个论坛是什么?你能链接到相应的javadoc或其他东西吗?这个Constants.FORUM是什么?你能链接到相应的javadoc或其他东西吗?