模拟TB搜索框下拉词获取教程[适合初级]
功能:获取淘宝搜索下拉框自动展示出的关键词用到的技术:网络请求/JSON解析
分析:
1.首先使用浏览器(自用Google)打开TB,按F12,如图操作;
2.搜索框输入关键词,等弹出提示查看下方的网络请求;
发现有多条类似请求,就是它了,点击选中最后一条,查看右侧详细信息;
网址组成:
https://suggest.taobao.com/sug?code=utf-8&q=%E4%B9%A6%E5%8C%85&_ksTS=1571023845396_784&callback=jsonp785&k=1&area=c2c&bucketid=6
简单分析,替换搜索词即可
'q='与'&'之间的是输入关键词的UrlEncode编码,替换此处为自己输入的关键词
精简网址:
https://suggest.taobao.com/sug?code=utf-8&q=%E4%B9%A6%E5%8C%85&area=c2c
3.查看分析返回结果并构造JSON类:
返回为JSON格式,数据在result中,对象是数组中包含数组,代码为:
class TBJson
{
public string[][] result { get; set; }
}
实现(代码最简):
首先NuGet引用Newtonsoft.Json;
代码页:using Newtonsoft.Json;
完整代码:
//关键词:
string KeyWord = "书包";
//构建网址
string Url = "https://suggest.taobao.com/sug?code=utf-8&q=" + KeyWord + "&area=c2c";
//网络请求
WebClient webClient = new WebClient();
Byte[] data = webClient.DownloadData(Url);
string html = Encoding.UTF8.GetString(data);
//JSON解析
TBJson json = JsonConvert.DeserializeObject<TBJson>(html);
//构建数据
StringBuilder sb = new StringBuilder();
foreach (var item in json.result)
{
sb.Append(item+"\r\n");
}
MessageBox.Show(sb.ToString());
执行结果:
结果:和TB搜索框下拉词相同;
可拓展:解析下拉词后面的子关键词/1688下拉词等
+1
功能:获取淘宝搜索下拉框自动展示出的关键词
页:
[1]