仅从网页中抓取特定细节
Only scrape specific details from a web page
我正在使用 Jsoup 从网页检索详细信息并将其写入文本文件。我可以只检索其中的一部分吗?例如在下面的 link 中,我只想获取职位描述。
有时招聘信息来自不同的网站,因此 html 标签的格式可能会有所不同。我需要一种方法来只检索职位描述。以下代码检索网页上的所有内容。我怎样才能只得到职位描述?请帮忙
public class MainCollector {
public static void main(String[] args) {
// TODO Auto-generated method stub
Document doc;
try {
doc = Jsoup.connect("http://aldogroup.luceosolutions.com/recruit/stores/advert_details.php?id=3136&_lang=en&partner_id=139").get();
String title = doc.title();
String body = doc.body().toString();
Document convertText = Jsoup.parseBodyFragment(body);
String convertedText = convertText.text();
System.out.println("Title:" + title);
System.out.println("Body:" + convertedText);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
你可以使用这个 -
Elements e = doc.select(".annonce > p:nth-child(5)");
System.out.println(e.text());
要正确 CSS selector
您可以打开浏览器的开发人员工具(按 F12),然后选择检查器工具。
您还应该将 user agent
字符串添加到您的请求中,这样您将从浏览器和程序中获得相同的页面 -
doc = Jsoup.connect("http://aldogroup.luceosolutions.com/recruit/stores/advert_details.php?id=3136&_lang=en&partner_id=139")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0")
.get();
我正在使用 Jsoup 从网页检索详细信息并将其写入文本文件。我可以只检索其中的一部分吗?例如在下面的 link 中,我只想获取职位描述。
有时招聘信息来自不同的网站,因此 html 标签的格式可能会有所不同。我需要一种方法来只检索职位描述。以下代码检索网页上的所有内容。我怎样才能只得到职位描述?请帮忙
public class MainCollector {
public static void main(String[] args) {
// TODO Auto-generated method stub
Document doc;
try {
doc = Jsoup.connect("http://aldogroup.luceosolutions.com/recruit/stores/advert_details.php?id=3136&_lang=en&partner_id=139").get();
String title = doc.title();
String body = doc.body().toString();
Document convertText = Jsoup.parseBodyFragment(body);
String convertedText = convertText.text();
System.out.println("Title:" + title);
System.out.println("Body:" + convertedText);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
你可以使用这个 -
Elements e = doc.select(".annonce > p:nth-child(5)");
System.out.println(e.text());
要正确 CSS selector
您可以打开浏览器的开发人员工具(按 F12),然后选择检查器工具。
您还应该将 user agent
字符串添加到您的请求中,这样您将从浏览器和程序中获得相同的页面 -
doc = Jsoup.connect("http://aldogroup.luceosolutions.com/recruit/stores/advert_details.php?id=3136&_lang=en&partner_id=139")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0")
.get();