java关键字提取代码_一个站长常用的类似于获取关键词排名的java工具类

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

5f44669d9023f819b9cfa4031178418d.pngimport java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLEncoder;

public class AnyBaiduKeywordRank {

public static String request(String url) {

StringBuffer res = new StringBuffer();

HttpURLConnection conn = null;

try {

URL serverUrl = new URL(url);

conn = (HttpURLConnection) serverUrl.openConnection();

conn.setRequestMethod("GET");// "POST" ,"GET"

conn.setConnectTimeout(10000);

conn.setReadTimeout(10000);

conn.connect();

InputStream ins = conn.getInputStream();

String charset = "UTF-8";

InputStreamReader inr = new InputStreamReader(ins, charset);

BufferedReader bfr = new BufferedReader(inr);

String line = "";

do {

res.append(line);

line = bfr.readLine();

} while (line != null);

inr.close();

bfr.close();

} catch (Exception e) {

e.printStackTrace();

} finally {

if (conn != null) {

conn.disconnect();

}

}

return res.toString();

}

public static void main(String[] args) throws Exception {

String keyword = "分享";

String site = "javaniu";

keyword = URLEncoder.encode(keyword, "utf-8");

int p = 1;

int s = 10;

String url = "http://www.baidu.com/s?wd=%s&pn=%s&ie=utf-8&usm=1&rsv_page=1";

while (true) {

int pn = (p - 1) * s;

String _url = String.format(url, keyword, pn + "");

System.out.println("Request url " + _url);

String html = request(_url);

if (html.indexOf(site) != -1) {

System.out.println("Find keyword");

break;

}

p++;

}

}

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值