首先,我要感谢大家提前花时间提供帮助
接下来,我想指出我已经阅读过answer 当我在stackoverflow上检查谷歌浏览器中的元素时,它真的很容易理解,但在下面列出的网页上有点凌乱
我希望能够从此网页上列出的公司加载信息 http://www.manta.com/mb_51_ALL_CVZ/carlstadt_nj?pg=1
最后,这是我目前的代码
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Main {
public static void main(String[]args)throws Exception{
String url = "http://www.manta.com/mb_51_ALL_CVZ/carlstadt_nj?pg=1";
Document doc = Jsoup.connect(url).get();
String address = doc.select("").text();
String telephone = doc.select("").text();
String description = doc.select("").text();
// want to retrieve the address, the telephone number and the description of the
// company listen on the website that i provided
}
}
答案 0 :(得分:1)
首先,使用<nav id="nav-below" class="post-navigation" role="navigation">
<div class="nav-next">
<div id="arrow-right"></div>
<a rel="next" href="http://localhost/wordpress/?p=369">
</div>
<div class="nav-previous">
<div id="arrow-left"></div>
<a rel="prev" href="http://localhost/wordpress/?p=104">
</div>
</nav>
字符串,因此您在程序中获得的页面与浏览器中的页面相同 -
User Agent
整个表格的选择器为Jsoup.connect(url)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0")
.get();
并且每行的selctor为ul.list-group:nth-child(4)
,其中ul.list-group:nth-child(4) > li:nth-child(X) > div:nth-child(1)
是介于1和行数之间的数字。
在每一行内,您可以使用浏览器轻松找到地址,电话等选择器。例如 - 第一行的地址由X
给出
只是循环通过。所有行并提取您需要的任何内容。