用java代码挖掘长尾关键词的实现方法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容介绍了"用java代码挖掘长尾关键词的实现方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年12月02日用java代码挖掘长尾关键词的实现方法
本篇内容介绍了"用java代码挖掘长尾关键词的实现方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
长尾关键词(Long Tail Keyword)是指网站上的非目标关键词但与目标关键词相关的也可以带来搜索流量的组合型关键词。对于做SEO的人来说,这个名字再也熟悉不过了,但是如何来挖掘长尾关键词,对于没有数据或者一定计算机知识的人来说,还是很有难度的。所以这里附上非常简单的办法,只要几行代码就能轻松搞定。
# -*- coding: utf-8 -*-# flake8: noqa__author__ = 'wukong'import urllibfrom urllib import urlencode#配置您申请的appKey和openIdapp_key="***"open_id="***""""request_url 请求地址params 请求参数method 请求方法"""def request_content(request_url,params,method): params = urlencode(params) if method and method.lower() =="get": f = urllib.urlopen("%s?%s" % (request_url, params)) else: f = urllib.urlopen(request_url, params) content = f.read() print content def main(): domain="http://api.xiaocongjisuan.com/" servlet="data/longtailword/mining" method="get" request_url=domain+servlet #字典 params ={} params["appKey"]=app_key params["openId"]=open_id #变动部分 params["keyword"]="学前教育" params["upLimit"]=50 params["minLen"]=30 params["lSort"]="up" request_content(request_url,params,method) if __name__ == '__main__': main()当然也可以用c#来实现
using System;using System.Collections.Generic;using System.Text;using System.Net;using System.IO;namespace ConsoleApplication1{ class Program { private static string appKey="yours"; private static string openId = "yours"; static string getResponseAsString(HttpWebResponse rsp, Encoding encoding) { System.IO.Stream stream = null; StreamReader reader = null; try { // 以字符流的方式读取HTTP响应 stream = rsp.GetResponseStream(); reader = new StreamReader(stream, encoding); return reader.ReadToEnd(); } finally { // 释放资源 if (reader != null) reader.Close(); if (stream != null) stream.Close(); if (rsp != null) rsp.Close(); } } /* * parameters 参数 * encode 编码 */ static string buildQuery(IDictionary parameters, string encode) { StringBuilder postData = new StringBuilder(); bool hasParam = false; IEnumerator> dem = parameters.GetEnumerator(); while (dem.MoveNext()) { string name = dem.Current.Key; string value = dem.Current.Value.ToString(); ; // 忽略参数名或参数值为空的参数 if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value) { if (hasParam) { postData.Append("&"); } postData.Append(name); postData.Append("="); if (encode == "gb2312") { postData.Append(System.Web.HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312"))); } else if (encode == "utf8") { postData.Append(System.Web.HttpUtility.UrlEncode(value, Encoding.UTF8)); } else { postData.Append(value); } hasParam = true; } } return postData.ToString(); } /** * * @param url 请求地址 * @param params 请求参数 * @param method 请求方法 * @return 请求结果 * @throws Exception */ static string requestContent(string url, IDictionary parameters, string method) { if (method.ToLower() == "post") { HttpWebRequest req = null; HttpWebResponse rsp = null; System.IO.Stream reqStream = null; try { req = (HttpWebRequest)WebRequest.Create(url); req.Method = method; req.KeepAlive = false; req.ProtocolVersion = HttpVersion.Version10; req.Timeout = 5000; req.ContentType = "application/x-www-form-urlencoded;charset=utf-8"; byte[] postData = Encoding.UTF8.GetBytes(buildQuery(parameters, "utf8")); reqStream = req.GetRequestStream(); reqStream.Write(postData, 0, postData.Length); rsp = (HttpWebResponse)req.GetResponse(); Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet); return getResponseAsString(rsp, encoding); } catch (Exception ex) { return ex.Message; } finally { if (reqStream != null) reqStream.Close(); if (rsp != null) rsp.Close(); } } else { //创建请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + buildQuery(parameters, "utf8")); //GET请求 request.Method = "GET"; request.ReadWriteTimeout = 5000; request.ContentType = "text/html;charset=UTF-8"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); //返回内容 string retString = myStreamReader.ReadToEnd(); return retString; } } static void Main(string[] args) { String domain = "http://api.xiaocongjisuan.com/"; String servlet = "data/longtailword/mining"; String method = "get"; String url = domain + servlet; var parameters = new Dictionary(); parameters.Add("appKey", appKey); parameters.Add("openId", openId); //变动部分 parameters.Add("keyword", "学前教育"); parameters.Add("upLimit", 50); parameters.Add("minLen", 30); parameters.Add("lSort", "up"); string result = requestContent(url, parameters, method); Console.WriteLine(result); Console.Read(); } }} 其他的语言实现方式可以跳转到长尾关键词接口去查看,代码上还是非常简洁的,就也不再做过多解释。
"用java代码挖掘长尾关键词的实现方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
关键
关键词
参数
代码
方法
内容
知识
学前教育
地址
方式
更多
目标
网站
还是
部分
utf-8
变动
教育
实用
简洁
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
所有的建筑有没有数据库
利信软件数据库
不同数据库中间表
网络安全网络信息与安全
空港新城网络安全应急演练
制药企业不良反应数据库
药物基因检测数据库
网络安全 研讨会
特色软件开发包括什么
国家网络安全宣传周山东省校园日
网络安全的文件
盘古众创网络技术有限公司
三级网络技术用什么语言
oracle数据库安全书
关系数据库的基本特征
建立腐蚀数据库的意义
系统软件开发的发展前景
软件开发编程是程序员做了吗
方舟怎样进多人服务器
房易通系统连不上服务器
成都网络安全培训公司
软件开发费用评估标准
华为做服务器的公司叫什么名字
达梦数据库视图查询表
如何删除服务服务器管理器
税务局进行网络安全交流发言
java面试数据库问题
discuz数据库变慢
四川旅游app小程序软件开发
广电网络技术员做什么