python挖长尾词 源码,如何用代码挖局长尾关键词
长尾关键词(Long Tail Keyword)是指网站上的非目标关键词但与目标关键词相关的也可以带来搜索流量的组合型关键词。对于做SEO的人来说,这个名字再也熟悉不过了,但是如何来挖掘长尾关键词,对于没有数据或者一定计算机知识的人来说,还是很有难度的。所以这里附上非常简单的办法,只要几行代码就能轻松搞定。
# -*- coding: utf-8 -*-
# flake8: noqa
__author__ = 'wukong'
import urllib
from urllib import urlencode
#配置您申请的appKey和openId
app_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();
}
}
}
其他的语言实现方式可以跳转到长尾关键词接口去查看,代码上还是非常简洁的,就也不再做过多解释。
python挖长尾词 源码,如何用代码挖局长尾关键词相关推荐
- python浪漫代码-python七夕浪漫表白源码
本文实例为大家分享了python七夕浪漫表白的具体代码,供大家参考,具体内容如下 from turtle import * from time import sleep def go_to(x, y) ...
- 照片背景底色更换工具二(python+flask网页版源码及打包)
照片背景底色更换工具二(python+flask网页版源码及打包) 所有源码 文件结构 static images huaman_src_test.jpg huaman_result_test.png ...
- Python个人网盘源码、云盘系统源程序,基于Django+Mysql
Python个人网盘源码.云盘系统源程序,基于Django+Mysql 1.安装依赖 pip install -r requirements.txt 2.检查配置文件,修改邮箱和数据库配置 # myc ...
- python爬虫教程:Scrapy框架爬取Boss直聘网Python职位信息的源码
今天小编就为大家分享一篇关于Scrapy框架爬取Boss直聘网Python职位信息的源码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 分析 使用Crawl ...
- python五子棋_python 五子棋源码
五子棋源码,原创代码,仅供python开源项目学习. 目前电脑走法笨笨的,下一期版本会提高电脑算法 第二版已发布与另外一篇博文,有兴趣的可以去查看下载. import pygame import ti ...
- Python与Seo工具源码,全网搜录查询助手exe
Python与Seo工具源码,全网搜录查询助手exe 很多人都说,seo是一个玄学,诚然,一方面是排名,另一方面是收录,尤其是对于渣渣而言,当然收录和排名都需要去验证,去查询,乃至去监控,大批量的话, ...
- python金融实战 源代码_穆棱市seo总代直销python金融量化营业实战课程 python量化项目实战源码+课件+视频...
python金融量化生意实战课程 python量化项目实战源码+课件+视频 1. 自愿化生意综述 重要实质: 课程实质综述,自愿化/算法生意先容,python正在自愿生意中的使用简介 2. 量化生意体 ...
- 图片坐标提取软件/图片坐标点和像素点颜色提取软件/图片坐标获取工具/Python图片坐标获取源码/图片像素坐标获取软件/python tkinter 图片显示(完全开源)
该软件使用python写的,可以提取像素点的坐标还有也能获取像素点的16进制数据RGB565和RGB888(RGB888仅最新的源码才支持),可以单点坐标也可以按键坐标,甚至可以使用简单的左右键配合使 ...
- 反编译python 生成的exe源码
反编译python 生成的exe源码 记录反编译exe工具使用 工具准备 – pyinstxtractor.py – uncompyle6 – sublime Text(或者其他的二进制编辑工具) 一 ...
最新文章
- 基于C#的UDP协议的同步实现
- 异构数据库转换工具的结构说明
- php基类控制器,控制器基类
- python的paramiko模块
- nlu 意图识别_在NLU中,您无视危险的意图
- 资源分享 | 敬伟 PS 教程 ABCD 四套全集
- 计算机桌面怎么改为d盘,WinXP桌面路径修改成D盘的步骤
- java编写这个通讯录管理系统_Java如何实现通讯录管理系统
- 对华炎魔方低代码平台的本地部署
- oracle 数据分列,oracle怎么按照范围分列!求高手帮忙.
- 数据挖掘知识点整理(期末复习版)
- 在go mod中使用k8s.io/code-generator生成代码
- CPU使用率原理及计算方式
- AntDB数据库与DSG强强联手,助力通信行业核心系统国产化
- go语言工具_Concurrent Map
- win10升级win11(cpu/tpm不符合)亲测有效,保留数据
- 路径追踪相关的一些内容
- 请求静态资源出现416 (Requested range not satisfiable) 错误
- 芝法酱躺平攻略(4)—— powerdesigner与mybatis-plus生成代码
- A股:未来至少翻10倍的“医药龙头股”,就这5只(附名单)
热门文章
- binaryreader java,C# 二进制文件的读写 | 菜鸟教程
- oracle 12c 自动任务,Oracle job自动任务实用指南
- linux redis php,Linux下编译redis和phpredis的方法
- 数据分析从零开始,新手小白如何入门?
- 北京/上海/杭州 | 蚂蚁金服智能引擎技术事业部招聘知识图谱算法工程师
- 攻克视频AI界难题,直通芒果TV offer,这场算法大赛你一定不能错过
- 收藏!这 10 篇硬核论文,让你宅家也能更了解图神经网络
- 十年编程经验输给新晋AI工程师,6个月我们带你绝地反击
- 能量视角下的GAN模型(二):GAN=“分析”+“采样”
- A flight (to Boston) to Denver - 基于转移的顺滑技术研究 | 论文访谈间 #22