功能:实现利用java访问网站(增加阅读量 ),并获取其中的信息,保存到本地
工具:
- eclipse
- 浏览器(谷歌)
- jsoup包 下载地址:maven工厂:https://mvnrepository.com/artifact/org.jsoup/jsoup/1.8.3
知识准备:
- Jsoup官方文档:https://jsoup.org/
- Java IO操作
- html(各种标签),Javascript基础 (类选择器)
基本思路
网络爬虫的基本思路是:爬虫线程从待抓取URL队列中拿取一个URL -> 模拟浏览器请求到目标URL -> 将网页内容下载回来 -> 然后对页面的内容进行解析、获取目标数据保存到相应的存储 -> 再以一定的规则从当前抓取的网页中获取接下来需要继续爬取的URL。
Demo例子
//url:访问的网站
String url="https://blog.csdn.net/weixin_43001280";
//userAngent用户代理 www.useragentstring.com/pages/useragentstring.php?name=Chrome
String userAngent="Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0";
Document doc = Jsoup.connect(listurl)
.userAgent(userAngent)
//超时连接时间
.timeout(3000).post();
接下来就可以通过获取到的Document 进行筛选,获取想要的信息
例如获取所有a标签:
Elements elements = doc.getElementsByTag("a");// 找到所有a标签
获取到之后,就可以根据blog的名字进行查找文章
String relHref = element.attr("href");
if (!relHref.startsWith("http://")
&& relHref.contains(blogName)
&& relHref.contains("details")
&& relHref.contains("article")
)
遍历到文章之后就可以访问文章,增加文章的阅读量 ,下载文章了
Jsoup.connect(relHref).userAgent(userAgenti).timeout(3000).post();