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

  1. 什么是HtmlUnit

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

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

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

  2. 怎么用HtmlUnit

    (我的IED是idea,用的maven工程)

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

    <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属性打印出来了,这样取出来的网址又可以继续爬,所以就达到爬虫的效果

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

WebClient就相当于浏览器了,所以第一步就new一个浏览器对象

HtmlPage就相当于具体浏览器里打开的页面吧,所以你可以看到这样的语法,webClient.getPage(),用浏览器对象WebClient根据传参的url来获取一个页面,这样获得的HtmlPage对象就是打开的页面了,然后有这个对象,你就可以为所欲为了,页面所有的标签都可以搞了,我这里demo搞得是HtmlAnchor,表示<a>标签,其他的可以看官网的API,这不一一列举了

有了这些小语法,把一个网站里所有的图片扒下来还是没问题的,我就把http://sexy.faceks.com/里所有的妹纸图搞下来了,4千多张,图片不好发了,有兴趣的朋友可以自己试一下还是挺好玩的

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

时间: 2024-11-05 19:30:28

HtmlUnit 网络爬虫 菜鸟的学习笔记(一)的相关文章

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

这次我以爬新浪微博为例,这个过程太纠结了,参考了好多大神的帖子,不过还是遗留了很多问题,我们慢慢来看,希望大神帮于指正,我的方法暂时来说还是比较挫的 登陆问题 爬新浪微博首先要登陆,之前爬的妹纸网站,由于不用登陆,所以没这一步,但是爬新浪微博我们必须要先登录,但是要涉及到一个问题,那就是验证码,验证码从我现在百度到的,和自己的理解,感觉暂时还是不能解决的,除非手工输入,因为本身验证码就是防止恶意登陆,防爬虫的,所以建议想试试的朋友用暂时用不输入验证码的账号试试(关于验证码,期盼大神可以给些提示)

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

上一篇写到,要是分析每一个url,包括滚动条滚动的url和分页的url就可以构造出来url来访问,从而抓取信息,但是这样要是想把我关注的人的所有微博全部输出的话,岂不是每个关注的人的url都要去看和分析,这样工作量就很大了 所以今天刚我就仔细分析了一下的url,发现其实变化量除了page和pagebar这两个参数,还有其他的参数需要关注: 该人的主页id,domain和id,下面说明一下 给一个分页的url参考一下 http://weibo.com/u/1645851277?pids=Pl_Of

python网络爬虫与信息提取【笔记】

以下是''网络爬虫''课程(中国MOOC)学习笔记 [万能的b站] 核心思想: The Website is the API 课程大纲: 一.Requests与robots.txt 1.Requeests 自动爬取HTML页面,自动网络请求提交 2.robots.txt 网络爬虫排除标准 二.BeautifulSoup解析HTML页面 三.Re正则表达式详解,提前页面关键信息 四.Scrapy网络爬虫原理介绍,专业爬虫框架介绍

Python网络爬虫基础知识学习

对Python有一些简单了解的朋友都知识Python编程语言有个很强大的功能,那就是Python网络爬虫(http://www.maiziedu.com/course/python/645-9570/),一提到Python,就会想到相关的Python爬虫和scrapy等等,今天就来简单认识学习Python爬虫的基础知识,有了一定的相关爬虫知识,以后学习scrapy.urllib等等知识时,会相对轻松些. 爬虫: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组

Swift网络开发之NSURLSession学习笔记

先上效果图:        功能: -单个任务下载 -暂停下载任务 -取消下载任务 -断点下载 -显示下载进度及速度 -多任务下载 -分别控制各个任务 在如今移动互联网的浪潮中,手机APP越来越依赖网络通讯来交互数据.今天我们就来分享下如何通过使用NSURLSession这个Apple官方提供的网络接口实现文件下载的思路. NSURLSsession 先来介绍下NSURLSession这个接口.NSURLSession是苹果在WWDC2013上推出的用于替代它的前辈NSURLConnection

菜鸟Python学习笔记第二天:关于Python黑客。

2016年1月5日 星期四 天气:还好 一直不知道自己为什么要去学Python,其实Python能做到的Java都可以做到,Python有的有点Java也有,而且Java还是必修课,可是就是不愿意去学Java,后来看到了<Linux黑客的python编程之道>然后发现了一些自己感兴趣的事,每个IT男都有一个黑客梦,我也不例外,所以继续开始Python写习. 因为要准备高数考试,所有以很多东西不能去仔细学习. 就深深的记住了几句话: 第一句:调试器就是黑客的眼睛.刚开始不懂什么是调试器:但是从眼

Python爬虫框架Scrapy 学习笔记 8----Spider

什么是爬虫? 从逻辑角度讲,爬虫对应一个树.树枝是网页,树叶是感兴趣的信息. 当我们从一个URL出发查找感兴趣的信息时,当前URL返回的内容可能包含我们感兴趣的信息,也可能包含另一个可能包含我们感兴趣的信息的URL.一个爬虫对应一次信息搜索,信息搜索过程会建立起一棵树. scrapy.Spider这个类提供了接口,允许我们设计整个信息搜索的流程. 给spider传递运行时所需的参数.比如URL ?号后面的参数信息.这些信息可以选择使用crawl -a 命令传递 2. Spider循环 对spid

网络爬虫_XPath的学习(1)

(1)简介: XPath是一门在XML文档中查找信息的语言,XPath可用来在XML文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上. 因此,对 XPath 的理解是很多高级 XML 应用的基础. XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力.起初 XPath 的提出的

Python爬虫框架Scrapy 学习笔记 10.1 -------【实战】 抓取天猫某网店所有宝贝详情

第一部分:任务描述 起始页面:http://shanhuijj.tmall.com/search.htm?spm=a1z10.3-b.w4011-3112923129.1.KjGkS2 这个页面列出了网店的所有宝贝,如图: 点击进入宝贝详情页面,例如:http://detail.tmall.com/item.htm?spm=a1z10.3-b.w4011-3112923129.62.xGx75B&id=10910218037&rn=918f15e64b1131d19b6f0f9585ec0