• 大小: 3.58MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-17
  • 语言: Java
  • 标签:

资源简介

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  xml-apis-1.4.01.jar

     文件       5315  2017-08-17 18:18  HtmlunitTest.java

----------- ---------  ---------- -----  ----

              4334151                    5


评论

共有 条评论

相关资源