一个站长常用的类似于获取关键词排名的工具类

使用Java代码自动获取百度关键词排名
本文介绍了一个用于获取关键词排名的Java类,通过指定关键词和站点名自动抓取百度搜索结果,得知网站在特定搜索词的排名。代码简单易懂,适合站长和SEO从业者使用。

原文:一个站长常用的类似于获取关键词排名的工具类

源代码下载地址:http://www.zuidaima.com/share/1574292163382272.htm

可以通过指定关键词和站点名来自动抓取百度的搜索结果从而得知自己的网站在某个搜索词的排名,类似于http://www.aizhan.com/siteall/zuidaima.com/

一个站长常用的类似于获取关键词排名的工具类

01 import java.io.BufferedReader;
02 import java.io.InputStream;
03 import java.io.InputStreamReader;
04 import java.net.HttpURLConnection;
05 import java.net.URL;
06 import java.net.URLEncoder;
07  
08 public class AnyBaiduKeywordRank {
09  
10     public static String request(String url) {
11         StringBuffer res = new StringBuffer();
12         HttpURLConnection conn = null;
13         try {
14             URL serverUrl = new URL(url);
15             conn = (HttpURLConnection) serverUrl.openConnection();
16             conn.setRequestMethod("GET");// "POST" ,"GET"
17             conn.setConnectTimeout(10000);
18             conn.setReadTimeout(10000);
19             conn.connect();
20             InputStream ins = conn.getInputStream();
21             String charset = "UTF-8";
22             InputStreamReader inr = new InputStreamReader(ins, charset);
23             BufferedReader bfr = new BufferedReader(inr);
24             String line = "";
25             do {
26                 res.append(line);
27                 line = bfr.readLine();
28             while (line != null);
29             inr.close();
30             bfr.close();
31         catch (Exception e) {
32             e.printStackTrace();
33         finally {
34             if (conn != null) {
35                 conn.disconnect();
36             }
37         }
38         return res.toString();
39     }
40  
41     public static void main(String[] args) throws Exception {
42         String keyword = "分享";
43         String site = "javaniu";
44         keyword = URLEncoder.encode(keyword, "utf-8");
45         int p = 1;
46         int s = 10;
48         while (true) {
49             int pn = (p - 1) * s;
50             String _url = String.format(url, keyword, pn + "");
51             System.out.println("Request url " + _url);
52             String html = request(_url);
53             if (html.indexOf(site) != -1) {
54                 System.out.println("Find keyword");
55                 break;
56             }
57             p++;
58         }
59  
60     }
61 }

原理很简单,大家可以发挥想象力去抓取任意想象的数据。这不正是code的魅力么。


分布式微服务企业级系统是一个基于Spring、SpringMVC、MyBatis和Dubbo等技术的分布式敏捷开发系统架构。该系统采用微服务架构和模块化设计,提供整套公共微服务模块,包括集中权限管理(支持单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等功能。系统支持服务治理、监控和追踪,确保高可用性和可扩展性,适用于中小型企业的J2EE企业级开发解决方案。 该系统使用Java作为主要编程语言,结合Spring框架实现依赖注入和事务管理,SpringMVC处理Web请求,MyBatis进行数据持久化操作,Dubbo实现分布式服务调用。架构模式包括微服务架构、分布式系统架构和模块化架构,设计模式应用了单例模式、工厂模式和观察者模式,以提高代码复用性和系统稳定性。 应用场景广泛,可用于企业信息化管理、电子商务平台、社交应用开发等领域,帮助开发者快速构建高效、安全的分布式系统。本资源包含完整的源码和详细论文,适合计算机科学或软件工程专业的毕业设计参考,提供实践案例和技术文档,助力学生和开发者深入理解微服务架构和分布式系统实现。 【版权说明】源码来源于网络,遵循原项目开源协议。付费内容为本人原创论文,包含技术分析和实现思路。仅供学习交流使用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值