`

HTMLUNIT小应用——人人网一种刷人气的方法

阅读更多
      纵观人人网上的人气之星不是白富美就是高富帅,像我这样的穷屌丝如何提高人气呢?写个程序吧。。
       哈,开个玩笑。。其实有一天闲着无聊,在百度上发现了一种名字叫做“人人网人气大师”的东西。于是,想自己写个类似的模拟登录并访问的东西来打发时间。
       说干就干,第一步,打开人人网,查看源文件。开始我想用post来写个简单的东西,结果,发现post并不能实现预想的功能。后来,发现了使用htmlunit来写的话,这东西就简单得要死。
       部分代码如下:

      renren = new WebClient(BrowserVersion.INTERNET_EXPLORER_8);//参数是浏览器版本号
      try {
renren.waitForBackgroundJavaScript(10000);
log = renren.getPage("http://www.renren.com/");//获取人人网登录页面

} catch (FailingHttpStatusCodeException e) {

e.printStackTrace();
} catch (MalformedURLException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}

     下面就是操作登录页面了,htmlunit使我们的这个工作变得异常简单。关键代码如下:
      经过研究人人网的登录页面源代码,推荐是用getElementById(id)这个方法比较容易找到相应的表单。
例如:
      HtmlElement nameform = rr.log.getElementById("email");//获取输入用户名的表单。
      然后调用.click()方法点击一下这个表单,然后使用type()方法填入相应的用户名。一切都和实际操作一样。
      等填写好了表单,我们需要找到提交按钮,代码如下:
      HtmlSubmitInput button = (HtmlSubmitInput) rr.log.getElementById("login");
     再次使用.click()即可
      这样就完成了自动登录。
      然后,你可以建立一系列的小号,使用上面的关键代码,再加上一些计时器,让这些小号来访问你想要刷的人人网帐号。计时器就是控制小号访问时停留的时间和再次访问的间隔时间。
      
      经过检验,这种方法可以达到刷访问的目的,而效果的好坏主要取决于你小号的多少。但是由于,htmlunit解析人人网网页较慢加上一些必要间隔时间,所以这个刷访问的方法个人感觉效率较低。只能当作htmlunit的小应用,当作打发时间吧。

      我是菜鸟,我犯错,我开心!
     
    转载请注明: http://king-lan.iteye.com/blog/1539748
    
3
0
分享到:
评论
2 楼 ricien 2013-06-27  
WindTaylor 写道
请教一下:我按照这个方法实现的时候遇上一个问题:在模拟submit点击后返回的Page仍然是登录页而不是登录之后的主页,不知道问题出在哪里= =
代码如下:
final WebClient webClient = new WebClient();
final HtmlPage loginPage = webClient.getPage("http://www.renren.com/PLogin.do");
final HtmlForm loginForm = (HtmlForm) loginPage.getElementById("loginForm");
HtmlInput email = loginForm.getInputByName("email");
email.setValueAttribute(".....");
HtmlInput pwd = loginForm.getInputByName("password");
pwd.setValueAttribute(".....");
HtmlSubmitInput login = (HtmlSubmitInput) loginPage.getElementById("login");
HtmlPage homePage = login.click();
System.out.print(homePage.asText());



你的问题解决没有啊
1 楼 WindTaylor 2012-08-09  
请教一下:我按照这个方法实现的时候遇上一个问题:在模拟submit点击后返回的Page仍然是登录页而不是登录之后的主页,不知道问题出在哪里= =
代码如下:
final WebClient webClient = new WebClient();
final HtmlPage loginPage = webClient.getPage("http://www.renren.com/PLogin.do");
final HtmlForm loginForm = (HtmlForm) loginPage.getElementById("loginForm");
HtmlInput email = loginForm.getInputByName("email");
email.setValueAttribute(".....");
HtmlInput pwd = loginForm.getInputByName("password");
pwd.setValueAttribute(".....");
HtmlSubmitInput login = (HtmlSubmitInput) loginPage.getElementById("login");
HtmlPage homePage = login.click();
System.out.print(homePage.asText());

相关推荐

    htmlunit-2.3..zip

    单元测试是软件开发过程中的一个重要环节,它允许开发者针对程序中的最小可测试单元——通常是函数或方法——进行独立验证,确保它们按照预期工作。对于Web应用来说,这通常涉及对前端和后端代码的测试。 HTMLUnit...

    传一个htmlunit依赖的jar包,官网所下

    HTMLUnit是一个Java库,它提供了一个无头浏览器的模拟,允许开发者在没有真实浏览器环境的情况下进行Web客户端测试和自动化。这个“htmlunit-2.25”压缩包包含的就是HTMLUnit库的版本2.25,是进行无头网页交互的关键...

    HtmlUnit官网下载

    总的来说,HtmlUnit 2.30为开发者提供了一种高效、灵活的工具,用以处理Web测试和爬虫任务,尤其是在需要处理JavaScript动态内容的场景下。尽管自2018年以来,HtmlUnit可能已经更新了更多版本,但2.30版本仍然是一个...

    Htmlunit2.23-bin.zip

    HTMLUnit是一个强大的Java库,它模拟了一个无头Web浏览器,主要用于自动化测试和网页抓取。在版本2.23的zip文件中,我们主要关注HTMLUnit的核心功能和它如何帮助开发者处理HTML内容。 HTMLUnit的核心是基于Jakarta ...

    htmlunit2.9

    总的来说,HTMLUnit 2.9提供了一种强大的工具,使得开发者能够对Web应用进行深入的测试和数据抓取,而无需依赖于真实的浏览器环境。然而,熟悉其工作原理和API,以及如何处理可能出现的问题,是充分利用这个库的关键...

    htmlunit-2.1.5源码

    HTMLUnit是一个Java库,它模拟了一个无头Web浏览器,用于自动化网页测试和抓取。它提供了JavaScript支持,能够处理AJAX请求,使开发者能够在没有实际图形界面的情况下与网页交互。这个"htmlunit-2.1.5源码"包包含了...

    htmlunit-2.14

    HTMLUnit是一个Java库,它提供了一个无头浏览器模拟器,用于自动化Web页面的测试和抓取。这个库的核心功能是能够解析、渲染和执行JavaScript,从而使得开发者可以在没有实际浏览器环境的情况下,对网页进行功能测试...

    htmlunit基本jar包

    HTMLUnit是一个Java库,它提供了一个无头浏览器模拟器,用于自动化Web页面的测试和交互。这个"htmlunit基本jar包"包含了运行HTMLUnit所需的所有核心组件,无需通过Maven来管理和依赖。这意味着用户可以直接在项目中...

    htmlunit 及其 依赖包

    HTMLUnit是一个功能强大的Java库,它模拟了一个无头Web浏览器,允许开发者进行自动化网页测试和网络爬虫工作。这个库的核心在于它能够解析HTML、执行JavaScript,并与网页上的元素进行交互,而无需真实地打开一个...

    htmlunit网络爬虫jar包

    htmlunit网络爬虫jar包

    htmlunit依赖jar包

    HTMLUnit是一款功能强大的Java库,它模拟了一个无头Web浏览器,允许开发者在没有真实浏览器环境的情况下执行JavaScript,处理Ajax请求,以及与网页进行交互。这个库对于自动化测试、数据抓取和网页爬虫项目非常有用...

    htmlUnit所需jar包

    在实际应用中,一个典型的HTMLUnit程序可能包括以下步骤: 1. 创建`HtmlUnitWebClient`实例。 2. 使用`WebClient`打开指定URL的网页。 3. 通过DOM操作(如`getByXPath`, `getElementById`, `getElementsByClassName`...

    htmlunit依赖的所有jar

    HTMLUnit是一个Java库,模拟一个无头Web浏览器,主要用于自动化测试和网页抓取。它能够解析HTML、执行JavaScript,并返回用户可以操作的DOM元素。在Java应用中使用HTMLUnit,通常需要依赖一系列的JAR(Java Archive...

    htmlunit所需要jar包

    3. **cssparser-0.9.5.jar**:这是一个CSS解析器,用于解析和处理CSS样式表,这对于HTMLUnit理解并应用网页样式至关重要。 4. **apache-mime4j-0.6.jar**:Apache MIME4J是处理MIME消息的Java库,它支持解析、构建...

    htmlunit-2.36和htmlunit-2.50,包括关联文件

    HTMLUnit是Java编程语言中的一款无头Web浏览器库,它模拟了浏览器的行为,但不涉及图形用户界面。这个工具主要用于自动化测试和网络爬虫,因为它能够解析HTML、执行JavaScript,并与网页上的各种元素进行交互。在...

    最新版HtmlUnit2.22含API文档

    HtmlUnit是Java编程语言中的一款无头浏览器模拟库,它允许开发者在没有真实浏览器环境的情况下进行Web应用程序的测试和自动化。最新版HtmlUnit 2.22提供了对现代Web技术的强大支持,包括JavaScript、Ajax以及各种...

    htmlunit-2.19-bin

    HTMLUnit是一个基于Java的无头Web客户端库,它模拟了一个完整的浏览器,但不涉及实际的图形用户界面。这个“htmlunit-2.19-bin”压缩包包含了HTMLUnit的二进制版本,允许开发者在Java应用程序中进行网页自动化测试和...

    htmlunit-2.27-bin

    HTMLUnit是一个强大的Java库,它模拟了一个无头Web浏览器,主要用于自动化Web测试和网页抓取。这个"htmlunit-2.27-bin"压缩包包含了HTMLUnit版本2.27的所有必要组件,使得用户能够在没有图形界面的情况下执行...

    Htmlunit2.8开发文档

    HtmlUnit 是一个强大的Java库,它模拟了一个无头Web浏览器,允许开发者进行自动化测试和网页抓取。在HtmlUnit 2.8版本中,你可以利用它来执行JavaScript、处理Ajax请求,以及与网页上的各种元素交互,而无需实际运行...

Global site tag (gtag.js) - Google Analytics