当前位置: 首页 > 后端技术 > Python

如何用代码挖掘长尾关键词

时间:2023-03-25 22:21:02 Python

长尾关键词(LongTailKeyword)是指网站上非目标关键词,但与目标关键词相关,又能带来搜索流量的组合关键词。对于做SEO的人来说,这个名字已经不陌生了,但是如何挖掘长尾关键词对于没有数据和一定计算机知识的人来说还是很困难的。所以这里介绍一个非常简单的方法,只需要几行代码就可以轻松搞定。#-*-coding:utf-8-*-#flake8:noqa__author__='wukong'importurllibfromurllibimporturlencode#配置你申请的appKey和openIdapp_key="***"open_id="***""""request_url请求地址参数请求参数方法请求方法"""defrequest_content(request_url,params,method):params=urlencode(params)ifmethod.lower()=="get":f=urllib.urlopen("%s?%s"%(request_url,params))else:f=urllib.urlopen(request_url,params)content=f.read()打印内容defmain():domain="http://api.xiaocongjisuan.com/"servlet="data/longtailword/mining"method="get"request_url=domain+servlet#dictionaryparams={}params["appKey"]=app_keyparams["openId"]=open_id#changepartparams["keyword"]="学前教育"params["upLimit"]=50params["minLen"]=30params["lSort"]="up"request_content(request_url,params,method)if__name__=='__main__':main()当然你也可以用c#来实现usingSystem;使用System.Collections.Generic;使用系统。文本;使用System.Net;使用System.IO;命名空间ConsoleApplication1{classProgram{privatestaticstringappKey="yours";私有静态字符串openId="yours";静态字符串getResponseAsString(HttpWebResponsersp,编码编码){System.IO.Streamstream=null;StreamReader阅读器=null;try{//以字符流的方式读取获取HTTP响应stream=rsp.GetResponseStream();reader=newStreamReader(流,编码);返回reader.ReadToEnd();}finally{//释放资源if(reader!=null)reader.Close();如果(流!=null)stream.Close();如果(rsp!=null)rsp.Close();}}/**参数参数*编码编码*/staticstringbuildQuery(IDictionaryparameters,stringencode){StringBuilderpostData=newStringBuilder();boolhasParam=false;IEnumerator>dem=parameters.GetEnumerator();while(dem.MoveNext()){字符串名称=dem.Current.Key;字符串值=dem.Current.Value.ToString();;//忽略名称或值为空的参数if(!string.IsNullOrEmpty(name))//&&!string.IsNullOrEmpty(value){if(hasParam){postData.Append("&");}postData.Append(名称);postData.Append("=");if(encode=="gb2312"){postData.Append(System.Web.HttpUtility.UrlEncode(value,Encoding.GetEncoding("gb2312")));}否则如果(编码==“utf8”){postData.Append(System.Web.HttpUtility.UrlEncode(value,Encoding.UTF8));}else{postData.Append(value);}hasParam=true;}}返回postData.ToString();}/****@paramurl请求地址*@paramparams请求参数*@parammethod请求方法*@return请求结果*@throwsException*/staticstringrequestContent(stringurl,IDictionaryparameters,string方法){如果(方法。ToLower()==“post”){HttpWebRequestreq=null;HttpWebResponse响应=空;System.IO.StreamreqStream=null;尝试{req=(HttpWebRequest)WebRequest.Create(url);请求方法=m方法;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.GetEncoding(rsp.CharacterSet);返回getResponseAsString(rsp,编码);}catch(Exceptionex){returnex.Message;}finally{if(reqStream!=null)reqStream.Close();如果(rsp!=null)rsp.Close();}}else{//创建请求HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url+"?"+buildQuery(parameters,"utf8"));//GET请求request.Method="GET";请求.ReadWriteTimeout=5000;request.ContentType="text/html;charset=UTF-8";HttpWebResponse响应=(HttpWebResponse)request.GetResponse();流myResponseStream=response.GetResponseStream();StreamReadermyStreamReader=newStreamReader(myResponseStream,Encoding.GetEncoding("utf-8"));//返回内容stringretString=myStreamReader.ReadToEnd();返回字符串;}}staticvoidMain(string[]args){Stringdomain="http://api.xiaocongjisuan.com/";Stringservlet="data/longtailword/mining";字符串方法=“获取”;小号tringurl=域+servlet;varparameters=newDictionary();parameters.Add("appKey",appKey);parameters.Add("openId",openId);//修改部分参数.Add("关键字","学前教育");parameters.Add("上限",50);parameters.Add("最小长度",30);parameters.Add("lSort","up");stringresult=requestContent(url,parameters,method);控制台.WriteLine(结果);控制台.Read();}}}其他语言的实现方式可以跳转到长尾关键词界面查看,代码还是很简洁的,就不过多解释了