Java爬取网页数据

灰太狼 2023-01-17 03:27 255阅读 0赞

文章目录

    • 1、导入依赖
    • 2、源代码

1、导入依赖

  1. <!-- jSoup -->
  2. <dependency>
  3. <groupId>org.jsoup</groupId>
  4. <artifactId>jsoup</artifactId>
  5. <version>1.10.2</version>
  6. </dependency>

2、源代码

  1. import org.jsoup.Jsoup;
  2. import org.jsoup.nodes.Document;
  3. import org.jsoup.nodes.Element;
  4. import org.jsoup.select.Elements;
  5. import java.net.URL;
  6. public class JavaReptile {
  7. private String NewUrl;
  8. public static void main(String[] args) throws Exception{
  9. //创建对象
  10. JavaReptile reptile = new JavaReptile();
  11. //调用相关的方法
  12. String n_url = reptile.getNewHistory("http://xxx"); //获取最新的内容
  13. reptile.getHistoryText(n_url); //获取最新的内容
  14. reptile.getAllHistory("http://xxx"); //获取所有链接
  15. }
  16. /**
  17. * 获取最新的
  18. * @throws Exception
  19. */
  20. public String getNewHistory(String url) throws Exception{
  21. //解析网页
  22. Document document = Jsoup.parse(new URL(url),30000);
  23. //根据class来获取文档
  24. Elements elements = document.getElementsByClass("showMoreNChildren");
  25. //遍历这个文档
  26. for (Element el: elements) {
  27. //获取“a”标签下的第1个“href”里的内容
  28. NewUrl = el.getElementsByTag("a").eq(0).attr("href");
  29. System.out.println(NewUrl);
  30. }
  31. return NewUrl;
  32. }
  33. /**
  34. * 获取最新的内容
  35. */
  36. public void getHistoryText(String url)throws Exception{
  37. //解析网页
  38. Document document = Jsoup.parse(new URL(url),30000);
  39. //根据class来获取文档
  40. Elements title = document.getElementsByClass("big_title");
  41. System.out.println(title.text());
  42. //根据id来获取文档内容
  43. Element content = document.getElementById("font_area");
  44. //根据 p 标签来获取文档内容
  45. Elements contents_text = content.getElementsByTag("p");
  46. //遍历获取
  47. for (Element el_text: contents_text) {
  48. String text = el_text.text();
  49. System.out.println(text);
  50. }
  51. }
  52. /**
  53. * 获取所有
  54. */
  55. public void getAllHistory(String url) throws Exception{
  56. //解析网页
  57. Document document = Jsoup.parse(new URL(url),30000);
  58. //根据class来获取文档
  59. Elements elements = document.getElementsByClass("maR0");
  60. //遍历获取
  61. for (Element el: elements) {
  62. String href = el.getElementsByTag("a").eq(0).attr("href");
  63. System.out.println(href);
  64. }
  65. }
  66. }

发表评论

表情:
评论列表 (有 0 条评论,255人围观)

还没有评论,来说两句吧...

相关阅读