/// <summary>
/// 获取商品在淘宝上的位置
/// </summary>
/// <param name="ProUrl">淘宝宝贝地址</param>
/// <param name="ProUrl">淘宝搜索关键字</param>
/// <returns>几页,行,列</returns>
public string GetTaobaoRanking(string ProUrl, string key)
{
string ProId = TaskHelper.GetProIdByProUrl(ProUrl);
string ProYeHangLei = "无结果";
int[] list = new int[3];
int pageIndex = 0;
int pageSize = 0;//页
int pageRow = 0;//行
int pageClu = 0;//列
int nidnum = 0;
int nidnum1 = 0;
bool bl = false;
while (true)
{
pageSize++;
string url = "http://s.taobao.com/search?initiative_id=staobaoz_" + DateTime.Now.ToString("yyyyMMdd") + "&js=1&style=grid&q=" + key + "&stats_click=search_radio_all%3A1&s=" + pageIndex; //要获取的网页地址
string htmlString = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //声明一个HttpWebRequest请求
request.Timeout = 30000; //设置连接超时时间
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("gb2312");
StreamReader streamReader = new StreamReader(streamReceive, encoding);
htmlString = streamReader.ReadToEnd();//获取搜索页的源码
string htmlstr = htmlString.ToLower().Replace("&nid=", "");
string str1 = "";//存放从查到商品截取到结尾的字符38382585967 8
string nidstr = "nid=\"" + ProId + "\"";
if (htmlstr.IndexOf(nidstr) >= 0)//如果有查到当前商品38032939139
{
str1 = htmlstr.Substring(htmlstr.IndexOf(nidstr) + 11);//得到从查到商品截取到结尾的字符
nidnum = (str1.Length - str1.Replace("nid=", "").Length) / 4;//从查到商品到结尾共有多少个宝贝
if (pageSize==1)//第一页会加载11行
{
nidnum1 = 44 - nidnum;//要查宝贝位于当前页第几个
}
else
{
nidnum1 = 40 - nidnum;//要查宝贝位于当前页第几个
}
break;
}
pageIndex += 40;
}
if (nidnum1 % 4 == 0)
{
pageRow = nidnum1 / 4;
}
else
{
pageRow = nidnum1 / 4 + 1;
}
pageClu = nidnum1 % 4 == 0 ? 4 : nidnum1 % 4;
ProYeHangLei = "第" + pageSize + "页.第" + pageRow + "行.第" + pageClu + "列";
Response.Write(ProYeHangLei);
Response.End();
return ProYeHangLei;
}