1.首先注册百度统计官方网站->添加要统计的网址->获取js代码(就是要放到自己网站入口中的一段脚本,帖进去就可以)
说是要过20min之后代码生效 也就是百度统计网站就可以统计出你的网站的访问记录了。
2.通过接口api获取访问数据 首先自己的网站访问量达到100pv吧 具体多少看下图的提示,红色框内官方提供的文档要看。
3.使用C#代码来调用接口
1)首先准备好需要的参数 你注册网站时的 用户名 密码 开通api时的token 与统计的网站id(就是打开网站统计的网站地址的参数siteId 看下图)
2)参数完毕 用在线工具跑一下接口是不是通了呢(之前构建post请求数据很费劲) 在线测试工具都可以 postman....
我用的这个 http://coolaf.com 把数据参数按下图填上去 点击工具中的提交,应该问题不大(post中的参数不能用单引号,我是单引号不行的) 参数结构就是这样的一大串 别拉掉括号!!
3)C#请求吧 我弄了一个类 参数配置好 直接调用类中的PvData()方法就可以了 返回的是json字符串
public class BaiDuApi
{
//请求的api接口地址
string url="https://api.baidu.com/json/tongji/v1/ReportService/getData";
//构建的post请求的参数(中间的不用变成单引号)method,metrics:参数看api有不同的请求的根据你的需求
string PostData = "{\"header\": {\"account_type\": 1,\"password\": \"你的登录密码\",\"token\": \"开通api接口token\",\"username\":\"登录用户名\"},\"body\": { \"siteId\":\"网站那个siteId\",\"method\":\"source/all/a\",\"start_date\": \"20190212\",\"end_date\": \"20200413\",\"metrics\": \"pv_count,visitor_count\"} }";
//得到返回数据 前台页面调用
public string PvData()
{
return RequestData(url, PostData);
}
//公用方法 不用动
public static string RequestData(string POSTURL, string PostData)
{
//发送请求的数据
WebRequest myHttpWebRequest = WebRequest.Create(POSTURL);
myHttpWebRequest.Method = "POST";
UTF8Encoding encoding = new UTF8Encoding();
byte[] byte1 = encoding.GetBytes(PostData);
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
myHttpWebRequest.ContentLength = byte1.Length;
Stream newStream = myHttpWebRequest.GetRequestStream();
newStream.Write(byte1, 0, byte1.Length);
newStream.Close();
//发送成功后接收返回的XML信息
HttpWebResponse response =
(HttpWebResponse)myHttpWebRequest.GetResponse();
string lcHtml = string.Empty;
Encoding enc = Encoding.GetEncoding("UTF-8");
Stream stream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(stream, enc);
lcHtml = streamReader.ReadToEnd();
return lcHtml;
}
}
4)解析返回的数据吧
我是在前台转的JSON.parse(data) 变成json 对象 然后就 ....可以点出来对象了 不错完了吧;后台感觉麻烦(应该自己太菜了)
5)看下请求成功返回的数据结构 具体参数看api吧
{
"header": {
"desc": "success",
"failures": [
],
"oprs": 1,
"succ": 1,
"oprtime": 0,
"quota": 1,
"rquota": 49992,
"status": 0
},
"body": {
"data": [
{
"result": {
"total": 1,
"items": [
[
[
{
"source": "through",
"name": "直接访问"
}
]
],
[
[
20,
4
]
],
[
],
[
]
],
"timeSpan": [
"2019/04/12 - 2019/04/13"
],
"sum": [
[
20,
4
],
[
]
],
"pageSum": [
[
20,
4
],
[
],
[
]
],
"fields": [
"source_type_title",
"pv_count",
"visitor_count"
]
}
}
]
}
}