Jsoup實現爬取多個網頁的多條固定信息

今天C++老師非要讓我們爬重慶二月份新型冠裝病毒的數據。

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);
	}

}

沒啥需求,對特殊數據進行清洗了一下,草草搞定。

祝願祖國早日康復。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章