using System;
s
using
System.Collections.Generic;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.IO;
using
System.Net;
using
System.Text;
public
partial
class
Thief : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
string
url =
"http://www.myspace.cn/"
; //要获取的网页地址
WebRequest req = WebRequest.Create(url);
WebResponse res = req.GetResponse();
Stream resStream = res.GetResponseStream();
StreamReader sr =
new
StreamReader(resStream, Encoding.UTF8);
//
StreamReader sr = new StreamReader(resStream, Encoding.GetEncoding("gbk"));支持中文
string
contentHTML = sr.ReadToEnd();
//读取网页的源代码
Response.Write(contentHTML);
resStream.Close();
sr.Close();
}
}
在测试用于查询淘宝排名用于淘宝宝贝排名查询时要先清Cookies
#region 获取商品在淘宝上的位置
/// <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;
}
#endregion
#region 根据传来商品地址,提取商品ID
/// <summary>
/// 根据传来商品地址,提取商品ID
/// </summary>
/// <param name="ProUrl">宝贝地址</param>
/// <returns></returns>
public static string GetProIdByProUrl(string ProUrl)
{
//用后来要比较的产品地址(可多条)比较要去比较的老地址(一条)
string ProId = "";
if (ProUrl.IndexOf("?id=") != -1)
{
ProId = ProUrl.Substring(ProUrl.IndexOf("?id=") + 4);
if (ProId.IndexOf("&") != -1)
{
ProId = ProId.Substring(0, ProId.IndexOf("&"));
}
else
{
ProId = ProId.Substring(0);
}
}
if (ProUrl.IndexOf("&id=") != -1)
{
ProId = ProUrl.Substring(ProUrl.IndexOf("&id=") + 4);
if (ProId.IndexOf("&") != -1)
{
ProId = ProId.Substring(0, ProId.IndexOf("&"));
}
else
{
ProId = ProId.Substring(0);
}
}
return ProId;
}
#endregion