Jsoup实现爬取多个网页的多条固定信息

1 篇文章 0 订阅
1 篇文章 0 订阅

Jsoup爬取的数据,直接上代码 

package chongqing_guanxinbingdu;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class paqu1 {

	public static void main(String[] args) {
		
		int sum = 1;
		List<String> url_list=new ArrayList<>();
		for(int j = 6;j<=14;j++){
		try {
                        //j为网页页数,即6到14页,这里的url可根据需求进行修改
			String url ="http://wsjkw.cq.gov.cn/ztzl_242/qlzhxxgzbdfyyqfkgz/yqtb/index_"+j+".html";
			Document doc = Jsoup.connect(url).get();
                        //获取网页所有的A标签,Elements类似一个arraylist数组
			Elements elements2=doc.getElementsByTag("a");
                        //遍历所有的标签
			for(int i=0;i<elements2.size();i++){
                            //获取A标签的文本
				String p_href = elements2.get(i).text();
	            
                                  //判断获取的内容是否包含下列字符
				if(p_href.contains("重庆市新冠肺炎疫情情况") |  p_href.contains("截至") ){
					if(!(p_href.contains("12时") |p_href.contains("1月") |(p_href.contains("3月") & ! (p_href.contains("1日") )))){
		
					String yiqing_url = elements2.get(i).attr("abs:href");
					Document open_doc = Jsoup.connect(yiqing_url).get();
					
					Elements elements =open_doc.getElementsByTag("p");
					for(int k=0;k<elements.size();k++){
						String p_text = elements.get(k).text();
					
						if(p_text.contains("累计报告")){
							//System.out.println(elements.get(k).text());
							String text =elements.get(k).text();
							List<String> result = Arrays.asList(text.split("[。]"));
							for(String text_one:result){
								if(!(text_one.contains("密切接触者") |text_one.contains("具体情况如下"))){
								System.out.println(text_one);
								}
							}
							sum++;
						}
					
					}
				
					
					}
				}
			}
			

			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		}
		System.out.println(sum);
	}

}

没啥需求,对特殊数据进行清洗了一下,草草搞定。

祝愿祖国早日康复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Jsoup 来进行爬虫爬取文件。以下是一个示例代码,展示了如何使用 Jsoup 进行文件的爬取: ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; public class FileSpider { public static void main(String[] args) throws IOException { String fileUrl = "https://example.com/example.pdf"; // 文件的URL地址 String savePath = "path/to/save/file.pdf"; // 文件保存的路径 // 使用 Jsoup 发起 HTTP 请求并获取文件的输入流 Document doc = Jsoup.connect(fileUrl).ignoreContentType(true).get(); InputStream inputStream = new URL(fileUrl).openStream(); BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); // 创建文件输出流,并将输入流的内容保存到文件 FileOutputStream fileOutputStream = new FileOutputStream(savePath); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = bufferedInputStream.read(buffer, 0, 1024)) != -1) { fileOutputStream.write(buffer, 0, bytesRead); } // 关闭流 fileOutputStream.close(); bufferedInputStream.close(); inputStream.close(); System.out.println("文件下载完成!"); } } ``` 请注意替换代码中的 `fileUrl` 和 `savePath` 为你要爬取文件的URL地址和要保存的文件路径。这个示例适用于下载 PDF 文件,你也可以根据需要修改代码来下载其他类型的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值