HtmlUnit 网络爬虫 菜鸟的学习笔记(一)

  1. 什么是HtmlUnithtml

    HtmlUnit是一个开源的浏览器模拟工具,能够方便咱们模拟浏览器的行为,例如打开网页,提交表单等,这样咱们能够用他来爬网页java

    官网下载:http://htmlunit.sourceforge.net/ web

    java API:http://htmlunit.sourceforge.net/apidocs/index.html api

  2. 怎么用HtmlUnit浏览器

    (个人IED是idea,用的maven工程)maven

    在pom文件里导入HtmlUnit的依赖包ide

    <dependency>
        <groupId>net.sourceforge.htmlunit</groupId>
        <artifactId>htmlunit</artifactId>
        <version>2.18</version>
    </dependency>

        主要语法仍是比较简单的
工具

        下面是一个小demo网站

WebClient webClient = new WebClient();
HtmlPage htmlPage = null;
try
{
    htmlPage = webClient.getPage("http://sexy.faceks.com/");
}catch (IOException e)
{
    e.printStackTrace();
}

List<HtmlAnchor> list = (List<HtmlAnchor>)htmlPage.getAnchors();

for (HtmlAnchor htmlAnchor:list)
{
    System.out.println(htmlAnchor.getHrefAttribute());
}

    输出的结果就是这样,把网址里全部<a>标签的href属性打印出来了,这样取出来的网址又能够继续爬,因此就达到爬虫的效果url

           

    

    一接触一个新工具,最怕里各类不懂的新语法,新类,我把本身的理解简单说哈,帮助理解,这个HtmlUnit是一个浏览器模拟器,既然是模拟器

        WebClient就至关于浏览器了,因此第一步就new一个浏览器对象

        HtmlPage就至关于具体浏览器里打开的页面吧,因此你能够看到这样的语法,webClient.getPage(),用浏览器对象WebClient根据传参的url来获取一个页面,这样得到的HtmlPage对象就是打开的页面了,而后有这个对象,你就能够随心所欲了,页面全部的标签均可以搞了,我这里demo搞得是HtmlAnchor,表示<a>标签,其余的能够看官网的API,这不一一列举了

        有了这些小语法,把一个网站里全部的图片扒下来仍是没问题的,我就把http://sexy.faceks.com/里全部的妹纸图搞下来了,4千多张,图片很差发了,有兴趣的朋友能够本身试一下仍是挺好玩的

        可是这种爬法仍是比较基础的,没有设计到表单和脚本之类的,以后可能要搞的就是提交表单,搞登录,好比网上比较多的爬新浪微博,爬淘宝的,后面有机会我再总结,反正本身比较菜,就只有慢慢来搞了,先记录下来,否则之后本身学着学着就忘了

相关文章
相关标签/搜索