• .Net获取网页源代码,淘宝宝贝排名


    • using System;  
    • susing 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
  • 相关阅读:
    字符串(String)的创建,以及字符串的属性及方法
    javascript的对象、类和方法
    画布 canvas 的相关内容
    数组的创建,及数组的方法
    css的字体单位
    html中如何清除浮动
    配置adb环境变量连接模拟器安装软件及卸载
    Robot Framework环境搭建步骤
    搭建robotframwork+selenium2library自动化测试环境,简称RFS
    图像界面还原备份mysql
  • 原文地址:https://www.cnblogs.com/wybshyy/p/13783834.html
Copyright © 2020-2023  润新知