【爬虫教程】拼多多商品详情页接口(采集商品价格,商品销量,已拼人数,商品优惠券,百亿补贴等信息)代码封装方法

大家都知道,拼多多的反爬虫机制十分严,而很多时候,没办法高效的拿到商品数据内容响应终端需求,而依赖爬虫就会造成动不动就出现滑块验证,让人很无解,正好,公司有这样的需求,让我负责解决这个问题,刚开始各种尝试,始终没有绕过拼多多的滑块验证码,搞了好几天,都没有进展; 然后各种网上资料查询,最终还是不负努力,找到更好的解决方案,让拼多多不再出现任何滑块验证码,完全绕过,实现更好的用户体验。下面就说说封装好的:

1.请求方式:HTTPS POST  GET

2.公共参数:

名称 类型 必须 描述
key String 调用key(必须以Get方式拼接在URL中)
secret String 调用密钥 (复制v:taobaoapi2014 )
api_name String API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cache String [yes,no]默认yes,将调用缓存的数据,速度比较快
result_type String [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
lang String [cn,en,ru]翻译语言,默认cn简体中文
version String API版本

3.请求参数:

请求参数:num_iid=520813250866

参数说明:num_iid:商品ID 

4. 请求代码示例,支持高并发请求(CURL、PHP 、PHPsdk 、Java 、C# 、Python…) 

//using System.Net.Security;
//using System.Security.Cryptography.X509Certificates;
private const String method = "GET";
static void Main(string[] args)
{
	String bodys = "";
	// 请求示例 url 默认请求参数已经做URL编码
	String url = "https://api-gw.199-7010-8018.cn/taobao/item_get_app/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=520813250866";
	HttpWebRequest httpRequest = null;
	HttpWebResponse httpResponse = null; 
	if (url.Contains("https://"))
	{
		ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
		httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
	}
	else
	{
		httpRequest = (HttpWebRequest)WebRequest.Create(url);
	}
	httpRequest.Method = method;
	if (0 < bodys.Length)
	{
		byte[] data = Encoding.UTF8.GetBytes(bodys);
		using (Stream stream = httpRequest.GetRequestStream())
		{
		stream.Write(data, 0, data.Length);
		}
	}
	try
	{
		httpResponse = (HttpWebResponse)httpRequest.GetResponse();
	}
	catch (WebException ex)
	{
		httpResponse = (HttpWebResponse)ex.Response;
	}
	Console.WriteLine(httpResponse.StatusCode);
	Console.WriteLine(httpResponse.Method);
	Console.WriteLine(httpResponse.Headers);
	Stream st = httpResponse.GetResponseStream();
	StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
	Console.WriteLine(reader.ReadToEnd());
	Console.WriteLine("\n");
}
public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
	return true;
}

5.响应示例因文章字符限制,暂不展示全部。

【爬虫教程】拼多多商品详情页接口(采集商品价格,商品销量,已拼人数,商品优惠券,百亿补贴等信息)代码封装方法_第1张图片

你可能感兴趣的:(全球电商平台数据采集代码分享,爬虫,数据挖掘,数据分析,大数据)