资源简介
htmlunit 网络爬虫,及其依赖jar包。以及实例
没有积分,赚点积分,:-D
代码片段和文件信息
package com.ustcsoft.jt.util;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import org.apache.commons.lang3.StringUtils;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.DomElement;
import com.gargoylesoftware.htmlunit.html.DomNode;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
/**
*
* @Author: QGuo
* @Time: 2017年8月16日 上午9:25:25
*
*/
public class HtmlunitTest {
private static int maxPage = 16;
private static int currentPage = 1;
public static void main(String[] args) {
while(currentPage<=maxPage){
// TODO 获取当前页面的页面内容
String URL = “http://xxgk.ah.gov.cn/tmp/Nav_gongkailanmu.shtml?SS_ID=49&tm=34332.39&Page=“+currentPage;
try {
produceList(URL);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
currentPage++;
}
}
}
public static void produceList(String URL) throws Exception{
/** HtmlUnit请求web页面 */
WebClient wc = new WebClient(BrowserVersion.CHROME);
wc.getOptions().setUseInsecureSSL(true);
wc.getOptions().setjavascriptEnabled(true); // 启用JS解释器,默认为true
wc.getOptions().setCssEnabled(false); // 禁用css支持
wc.getOptions().setThrowExceptionOnscriptError(false); // js运行错误时,是否抛出异常
wc.getOptions().setTimeout(100000); // 设置连接超时时间 ,这里是10S。如果为0,则无限期等待
wc.getOptions().setDoNotTrackEnabled(false);
wc.waitForBackgroundjavascript(10000);//让js先加载完,获取页面异步生成的代码,
HtmlPage page = wc.getPage(URL);
//获得需要的链接
List achList=page.getAnchors();
// 开始插入数据
Class.forName(“oracle.jdbc.driver.OracleDriver“).newInstance();
String jdbcUrl = “jdbc:oracle:thin:@192.168.254.190:1521:orcl“; // orcl为数据库的SID
String Username = “dss“; // 用户名
String Password = “dss“; // 密码
java.sql.Connection con = DriverManager.getConnection(jdbcUrl Username
Password);
for(HtmlAnchor ach:achList){
if (ach.getHrefAttribute().contains(“/UserData/DocHtml“) && !ach.getHrefAttribute().startsWith(“http://“)){
String newURL = “http://xxgk.ah.gov.cn“ + ach.getHrefAttribute().trim();
System.out.println(newURL);
HtmlPage newPage = wc.getPage(newURL);
//selectors选择器
DomNode source = newPage.querySelector(“.wz_source“);
//信息来源
String sourcetext = source.asText().replace(“信息来源:“ ““);
DomNode wztit = newPage.querySelector(“.wztit“);
DomNode titles = newPage.querySelector(“.nr_topcon“);
String title = titles.asText();
int c = title.indexOf(“生成日期:“);
int d = ti
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2003882 2017-08-15 14:37 htmlunit-2.27.jar
文件 736658 2017-08-16 09:45 httpclient-4.5.2.jar
文件 1367760 2017-08-15 14:37 xercesImpl-2.11.0.jar
文件 220536 2017-08-16 09:39 xm
文件 5315 2017-08-17 18:18 HtmlunitTest.java
----------- --------- ---------- ----- ----
4334151 5
评论
共有 条评论