import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.HttpMethod;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.WebRequest;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.util.NameValuePair;
public class ContactList {
public static void oneSixThree() throws FailingHttpStatusCodeException, IOException {
String loginUrl = "http://reg.163.com/login.jsp?type=1&url=http://entry.mail.163.com/coremail/fcg/ntesdoor2?lightweight%3D1%26verifycookie%3D1%26language%3D-1%26style%3D3";
WebClient client = new WebClient();
client.getOptions().setJavaScriptEnabled(true);
client.getOptions().setCssEnabled(false);
client.getOptions().setThrowExceptionOnScriptError(false);
client.getOptions().setTimeout(10000);
List<NameValuePair> reqParams = new ArrayList<NameValuePair>();
reqParams.add(new NameValuePair("product", "mail163"));
reqParams.add(new NameValuePair("username", "xxx"));
reqParams.add(new NameValuePair("password", "yyy"));
reqParams.add(new NameValuePair("selType", "jy"));
WebRequest webRequest = new WebRequest(new URL(loginUrl), HttpMethod.POST);
webRequest.setRequestParameters(reqParams);
HtmlPage emailPage = (HtmlPage) client.getPage(webRequest);
String url = emailPage.getUrl().toString();
String sid = url.substring(url.indexOf("sid="));
String contactUrl = "http://tg4a84.mail.163.com/jy3/address/addrprint.jsp?" + sid;
HtmlPage contactPage = (HtmlPage) client.getPage(contactUrl);
Document doc = Jsoup.parse(contactPage.asXml());
Elements names = doc.select(".gTitleSub .mTT");
Elements addresses = doc.select(".gTable tbody tr:first-child td");
int size = names.size();
for (int i = 0; i < size; i++) {
System.out.println(names.get(i).text() + " " + addresses.get(i).text());
}
}
}
相关推荐
htmlunit2.8 + jsoup1.7各种网站上的数据抓取。
htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。这个没有界面的浏览器,运行速度也是非常迅速的。 jsoup 是...
个人学习中,总结的小案例.
获取执行js代码后的html文档。
jsoup、htmlunit 、seleniumWebdriver的jar包
htmlunit 模拟cookie 存取 cookie值登录 如: wsyyuser.xywy.com Cookie c = new Cookie("wsyyuser.xywy.com", "PHPSESSID", Common.getValue("session_id") );
针对 httpclient4.* 绕验证码获取公司信息 包括 jsoup网页信息的爬虫及htmlUnit对动态网站信息的抓取
一共有21个jar包。亲测可用不冲突! 上述的jar包支持爬取动静态界面。
htmluni和Jsoup jar包 用于抓取数据。但是不要用于商业用途
GC基于httpclient、htmlunit、jsoup、elasticsearch。 GC的特点: 1、具有DSL特性的模板。 2、分布式、可扩展。 3、辛亏有htmlunit,它能较好地支持javascript。 5、合理的插件设计,方便功能扩充。...
htmlUnit所需工具包,htmlUnit,htmlUnit,htmlUnit,htmlUnit,htmlUnit
htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。 项目可以模拟浏览器运行,被誉为java浏览器的开源实现。是一个没有界面的浏览器。 采用的是Rhinojs引擎。模拟js...
赠送jar包:htmlunit-core-js-2.27.jar; 赠送原API文档:htmlunit-core-js-2.27-javadoc.jar; 赠送源代码:htmlunit-core-js-2.27-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
高效的java爬虫,内附... 有htmlunit的各种获取标签的方法。避免了jsoup无法抓取js代码生成的数据内容的弊端。避免了client无法一次性获取大量信息的弊端。有能获取静态页面形成之前的对方数据内容的高手 欢迎借阅指导
htmlunit+jsoup+java+httpclient爬取京东,苏宁,亚马逊,唯品会,淘宝,天猫,国美价格降序后第一个商品价格数据
htmlunit jar zip 2.23 用于html爬虫
赠送jar包:htmlunit-2.33.jar; 赠送原API文档:htmlunit-2.33-javadoc.jar; 赠送源代码:htmlunit-...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
java使用htmlunit工具抓取js中加载的数据.docx
java 开发 htmlunit官方jar包和api文档
赠送jar包:htmlunit-2.49.1.jar; 赠送原API文档:htmlunit-2.49.1-javadoc.jar; 赠送源代码:htmlunit-2.49.1-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。