Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Android 我正在从一个网站上抓取数据,我需要有人解释收到的代码-JSoup_Android_Html_Android Studio_Jsoup - Fatal编程技术网

Android 我正在从一个网站上抓取数据,我需要有人解释收到的代码-JSoup

Android 我正在从一个网站上抓取数据,我需要有人解释收到的代码-JSoup,android,html,android-studio,jsoup,Android,Html,Android Studio,Jsoup,我从Stackoverflow得到了这段代码,当我按照我的要求去做的时候,我很难理解它是如何做到的。我正在从一个网站上抓取某些单词。只是想知道是否有人能告诉我它是如何选择单词的?尤其是在doc.select部分之后 String text = doc.select("#post-15 > div > table:nth-child(6) > tbody > tr:nth-child(2) > td:nth-child(2) > table:not(:last-

我从Stackoverflow得到了这段代码,当我按照我的要求去做的时候,我很难理解它是如何做到的。我正在从一个网站上抓取某些单词。只是想知道是否有人能告诉我它是如何选择单词的?尤其是在doc.select部分之后

String text = doc.select("#post-15 > div > table:nth-child(6) > tbody > tr:nth-child(2) > td:nth-child(2) > table:not(:last-of-type)").text();

.SelectCsQuery接受css查询并返回一个Elements对象,如果在该查询之后未找到任何对象,则该对象为空。在此处查看文档:

这是一种考虑css选择器在查询中从左到右执行操作的方式

从id=post-15获取所有子div 获取找到的表的tbody元素 在这里再次找到那个人的第二排第N个孩子 查找该行的第二列 查找不是该列中最后一个表的表 .text然后返回找到的节点的文本元素

在这方面发挥作用的是:

A>B-查找子元素B 选择器:第n个子元素-元素类型的第n个子元素 选择器:类型的最后一个-该元素在 父选择器:notx-
您正面临一个CSS选择器。有关Jsoup CSS选择器语法的详细概述,请参阅。以下是一些线索:

#post-15 > div > table:nth-child(6) > 
tbody > tr:nth-child(2) > td:nth-child(2) > 
table:not(:last-of-type)
id将选择id为的元素 a>b将选择带有标记a的元素的带有标记b的元素 父:nth-child2是一个所谓的伪选择器。它选择其父元素的第二个子元素 父:类型的最后一个也是一个伪选择器。它选择该类型的最后一个元素
你能在你找到代码的那个帖子上问这个吗?我只是这样做,我从来没有意识到我没有问题,如果你的问题得到了充分的回答,你应该考虑接受最好的答案,从而把这个问题解决。如果你需要进一步的帮助,请详细说明你需要什么帮助。你打败了我,你的解释比我的解释更透彻+1 :