/*
* 爬取網頁資訊
*/
private static String pickData(String url) {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpGet httpget = new HttpGet(url);
CloseableHttpResponse response = httpclient.execute(httpget);
try {
// 擷取響應實體
HttpEntity entity = response.getEntity();
// 列印響應狀态
if (entity != null) {
InputStream in = entity.getContent();
// byte[] b=new byte[in.available()];
// in.read(b);
BufferedReader br = new BufferedReader(new InputStreamReader(in, "gbk"));
String temp = "";
String s = "";
while ((temp = br.readLine()) != null) {
s = s + temp;
}
return s;
} else {
String content = "熱門綜藝節目抓取失敗,請檢查";
ErrorLog el = new ErrorLog();
Remind remind = new Remind();
remind.remind(el.getVerietyLog(), content);
return null;
}
} finally {
response.close();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 關閉連接配接,釋放資源
try {
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
/*
* 使用jsoup解析網頁資訊
*/
private static Variety analyzeHTMLByString(String html) {
Variety v = new Variety();
String[] arr = new String[3];
Document document = Jsoup.parse(html);
// document.select("meta").attr("charset", "utf-8");
// System.out.println(document);
Elements array = document.getElementsByClass("keyword");
System.out.println(array.size());
String content = "熱門綜藝節目抓取失敗,請檢查";
ErrorLog el = new ErrorLog();
if (array.size() == 0) {
Remind remind = new Remind();
remind.remind(el.getVerietyLog(), content);
return null;
}else{
if (array.size() >= 3) {
for (int i = 0; i < 3; i++) {
String name = array.get(i).child(0).text();
arr[i] = name;
}
} else {
for (int i = 0; i < array.size(); i++) {
String name = array.get(i).child(0).text();
arr[i] = name;
}
}
v.setHot1(arr[0]);
v.setHot2(arr[1]);
v.setHot3(arr[2]);
return v;
}
}