之前一直以为用Java写爬虫是一件很复杂的事情,但是忽略了java开发者的力量,有着强大的类库,其实这种类库有很多种,这里以jsoup为例,这里关于信息的赛选并没有采用增则表达式,而是借鉴了jquery‘的语法特点,如果学习过jquery,几乎可以完全很容易上手,这里以我们学校的教务处为例,学校的教务处还是比较人性化的,专门给出了提供爬取的访问页面,没有做任何的限制,如果加上的图片的验证码包括干扰线等,复杂度要大的很多。不多说了,这里的代码如下:
注意,在使用之前一定要引入jsoup-1.8.3.jar包
package com.xuning.SdutQuicklySearch;
import java.io.IOException;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import com.xuning.SdutQuicklySearch.util.ParsePropertiesFile;
public class Start {
public static void main(String[] args) throws IOException {
String post_xuehao="13110572068";
String url=ParsePropertiesFile.GetPropertiesValue("url");
System.out.println(url);
Connection connection=Jsoup.connect(url).data("post_xuehao",post_xuehao);
Document document=connection.post();
String element=document.body().text();
Elements taElement=document.getElementsByTag("table");
// System.out.println(taElement.get(1).getElementsByTag("tr").first().select("th").text());
String[] jbxx_th=new String[13];
int i=0;
for(Element element2:taElement.get(1).getElementsByTag("tr").first().select("th")){
jbxx_th[i++]=element2.text();
}
for(int j=0; j < jbxx_th.length; j++){
System.out.println(jbxx_th[j]);
}
System.out.println("取出的项目大小:"+jbxx_th.length);
System.out.println();
}
}