Jsoup分析とクローラー

イルカエルフhttps : //mgo.whhtjl.com

誰もが最初に次のウェブページを見てください:

プロジェクトチームは、「サブプロフェッショナル名」までクロールし、コードを直接アップロードすることを要求しています。

   /**
	 * 获得子专业名称
	 * @param url
	 * @return
	 */
	public static String getSonSubjectName(String url){
		String sonSubjectName=null;
		try {
		if(url!=null&&!"".equals(url.trim())){
			// 创建httpClient实例
			CloseableHttpClient httpClient = HttpClients.createDefault();
			// 创建httpGet实例
			HttpGet httpGet = new HttpGet(url);
			CloseableHttpResponse response = httpClient.execute(httpGet);
			String content = null;
			if(response != null){
			HttpEntity entity = response.getEntity();   
			content = EntityUtils.toString(entity, "UTF-8");  // 获取网页内容
			int firstEndIndex=content.indexOf("navcrumbId-1");
			int secondEndIndex=content.indexOf("navcrumbId-2");
			String resultStr=content.substring(firstEndIndex,secondEndIndex);
			Document document = Jsoup.parse(resultStr);  // 解析网页,得到文档对象
			Elements elements1=document.getElementsByClass("navcrumb-item");// 获得节点
				sonSubjectName=elements1.get(1).text();
			}
			if(response != null){
				response.close();
			}
			if(httpClient != null){
				httpClient.close();
			}
		}
	} catch (Exception e) {
			logger.error("WyUtil.getSonSubjectName()----error", e);
	}
		return sonSubjectName;
}

エンティティークラスを作成する

public static void main(String[] args) {
    System.out.println(getSonSubjectName("https://study.163.com/course/introduction.htm?courseId=1006073263&_trace_c_p_k2_=bca7cf19265c4b66b5e9cdcd63e59bbc"));
}

実行すると、結果は次のようになります。

ミルクは思った

 

おすすめ

転載: blog.csdn.net/qq_35393693/article/details/108285140