2.引入jsoup访问网站

3.pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.pshdhx</groupId>
  <artifactId>pshdhx</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
  	<dependency>
   <groupId>org.jsoup</groupId>
   <artifactId>jsoup</artifactId>
   <version>1.11.3</version>
  </dependency>
  </dependencies>
</project>

4.主程序

package com.pshdhx;
 * 增加csdn点击数
 * @author pshdhx
import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;
public class AddCount {
	private static Desktop desktop;//定义私有静态成员变量
	public static   ArrayList<String> strList = new ArrayList<String>();//定义String类型的泛型集合
	public static List<String> get(){
		Document doc;
		Document doc2;
		Document doc3;
		Document doc4;
		Document doc5;
		try {
			doc = Jsoup.connect("https://blog.csdn.net/pshdhx").get();
			Elements elementsByTag = doc.getElementsByTag("h4");
			for(int i=0;i<elementsByTag.size();i++) {
				Node childNode = elementsByTag.get(i);
				Node childNode2 = childNode.childNode(1);
				strList.add(childNode2.attr("href"));
			doc2 = Jsoup.connect("https://blog.csdn.net/pshdhx/article/list/2").get();
			Elements elementsByTag2 = doc2.getElementsByTag("h4");
			for(int i=0;i<elementsByTag2.size();i++) {
				Node childNode = elementsByTag2.get(i);
				Node childNode2 = childNode.childNode(1);
				strList.add(childNode2.attr("href"));
			doc3 = Jsoup.connect("https://blog.csdn.net/pshdhx/article/list/3").get();
			Elements elementsByTag3 = doc3.getElementsByTag("h4");
			for(int i=0;i<elementsByTag3.size();i++) {
				Node childNode = elementsByTag3.get(i);
				Node childNode2 = childNode.childNode(1);
				strList.add(childNode2.attr("href"));
			doc4 = Jsoup.connect("https://blog.csdn.net/pshdhx/article/list/4").get();
			Elements elementsByTag4 = doc4.getElementsByTag("h4");
			for(int i=0;i<elementsByTag4.size();i++) {
				Node childNode = elementsByTag4.get(i);
				Node childNode2 = childNode.childNode(1);
				strList.add(childNode2.attr("href"));
			doc5 = Jsoup.connect("https://blog.csdn.net/pshdhx/article/list/5").get();
			Elements elementsByTag5 = doc5.getElementsByTag("h4");
			for(int i=0;i<elementsByTag5.size();i++) {
				Node childNode = elementsByTag5.get(i);
				Node childNode2 = childNode.childNode(1);
				strList.add(childNode2.attr("href"));
		}catch(Exception e) {
			e.printStackTrace();
		return strList;
public static void browse(String uri){
		if(Desktop.isDesktopSupported()){//判断是否支持DeskTop
			desktop = Desktop.getDesktop();
				desktop.browse(new URI(uri));
			}catch(Exception e){
				e.printStackTrace();
	public static void main(String[] args) throws IOException, InterruptedException {
		int i =0;
		List<String> list = AddCount.get();
//		while(true){	//一直循环
//			try{
//				if(i<40)	//判断是否小于博文数量,不然可能会出现越界错误
//				{
//					browse((String)strList.get(i));
//					Thread.sleep(3000);	//这里的单位为毫秒 我这里设置每个 网址之间间隔30s 这里可以根据情况改
//				}else{
//					i=-1; //将i重置为-1 因为后面会进行i++ 加1后就变成了0
//					 // 启用cmd运行chrome的方式来退出
//					 Runtime.getRuntime().exec("taskkill /F /IM chrome.exe"); //我默认浏览器是 chrome  
//					 			//如果你的事firefox 将chrome改为firefox即可
//					Thread.sleep(36);	//这里的单位为毫秒 我这里设置每个访问所有博文后 休眠1小时 这里可以根据情况改
//				}			
//			}catch(Exception e){
//				e.printStackTrace();
//			}
//			i++;
//		}
		Document doc;
//		for(String j:list) {
//			doc = Jsoup.connect(j).get();
//			System.out.println(doc.baseUri()+"一秒");
//		}
		Set<String> set = new HashSet<>();
		for(String j :list){
			set.add(j);
		for(String a:set){
			doc = Jsoup.connect(a).get();
			System.out.println("==="+doc.baseUri()+"===一秒");

4、它的网页的访问量会增长的很慢,和本地程序运行速度有关,如果本地硬件性能较好,可以使用java的多线程的方式进行高并发,这样会明显增快爬取速度。

1.简单的maven项目2.引入jsoup访问网站3.pom.xml&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt; &l
玩博客有一段时间了,有时候看见自己那少得可怜的博客访问量和博文阅读数,心想怎么样才能提高自己的博客访问量博文阅读数呢,结合自身搞过web方面的经历发现:这个博文阅读量就是当你打开对应博文的网址,后端程序会记录刷新进行加1操作,并记录到数据库中,而博客访问量很大一部分是所有博文阅读量之和。(个人见解) 那如何提高博客访问量、博文阅读量? 通过上面我们可以知道,可以手动点击博文然后就可以提高博客访...
jsoup是一款Java的HTML解析器,主要用来对HTML解析。在爬虫的时候,当我们用HttpClient之类的框架,获取到网页源码之后,需要从网页源码中取出我们想要的内容,就可以使用jsoup这类HTML解析器了。可以非常轻松的实现。 虽然jsoup也支持从某个地址直接去爬取网页源码,但是只支持HTTP,HTTPS协议,支持不够丰富。所以,主要还是用来对HTML进行解析。 #Jsoup地址 https://www.open-open.com/jsoup/ #在maven中央仓库的地址 https:
由于最近在做一个关于班级的app,需要用到同学们的课表,想着通过解析html来获取。于是,有了下面,借助jsoup包来解析html课表,生成每一周的课表。下载jsoup包导入lib。获取个人课表可以通过进入教务管理系统。“个人课表查询”点击右键,打开链接地址。作者课表:grkbListjsoupjsoup下载地址文档:中文文档资料 最后生成的结果附上代码import java.io.File; 3. 解析网页内容 通过jsoup的dom遍历,可以从获取的网页内容中提取需要的信息。例如,可以使用getElementById()方法获取指定id的元素节点,使用getElementsByClass()方法获取指定类名的元素节点,使用select()方法获取指定选择器的元素节点等等。 Element titleEl = doc.getElementById("title"); String title = titleEl.text(); Elements links = doc.getElementsByTag("a"); for (Element link : links) { String linkHref = link.attr("href"); String linkText = link.text(); 4. 处理爬取数据 根据需要对爬取到的数据进行处理和存储。例如,可以将数据存储到数据库中,也可以将数据保存到本地文件等等。 上述即为Java爬虫的基本流程,当然还有很多细节需要注意,例如如何应对反爬虫机制的限制等等。
vue路由解决Uncaught (in promise) Error: Avoided redundant navigation to current location: “/home/news“. 17362