java爬虫抓取动态网页(Java爬虫简单的网络爬虫原理是怎样的?-八维教育)
优采云 发布时间: 2021-10-25 12:12java爬虫抓取动态网页(Java爬虫简单的网络爬虫原理是怎样的?-八维教育)
Java爬虫的简单实现
最近学习搜索,需要了解一下网络爬虫的知识。虽然有很多强大的开源爬虫,为了了解原理,我还是抱着学习的态度写了一个简单的网络爬虫。
先介绍一下各个类的功能:
DownloadPage.java 的作用是下载这个超链接的页面源代码。
FunctionUtils.java的作用是提供不同的静态方法,包括:页面链接正则表达式匹配、获取URL链接元素、判断是否创建文件、获取页面Url并转换为标准Url、拦截网页源文件 目标内容。
HrefOfPage.java 的作用是获取页面源代码的超链接。
UrlDataHanding.java 的作用是集成各种类,实现url获取数据到数据处理类。
UrlQueue.java 未访问的 Url 队列。
VisitedUrlQueue.java 已访问的 URL 队列。
下面介绍每个类的源代码: DownloadPage.java 该类使用HttpClient 组件。FunctionUtils.java的方法是静态方法HrefOfPage.java,是获取页面的超链接UrlDataHanding.java,主要用于从未访问队列获取URL、下载页面、分析URL、保存访问过的URL等操作。实现 Runnable 接口 UrlQueue.java。该类主要用于存储未访问的 URL 队列。VisitedUrlQueue.java 主要用于存储访问过的 URL,使用 HashSet 保存,主要是考虑到每个访问过的 URL 是不同的。HashSet 正好满足这个要求 Test.java 这个类是一个测试类
说明:因为我抓的是oschina,里面的url正则表达式不适合其他网站,需要自己修改。也可以写xml来配置。