using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Text;
using Microsoft.VisualBasic;
using System.IO;
using System.Net;
using pq7798;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Threading;
namespace SetProc
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private void SetProductInfo(string url,int Mid)
{
string Temp,Info,Pid,Pic,timestart,timeend,proc,crop;
int T1,T2,hits;
StringBuilder Str = new StringBuilder();
do
{
Str.Append(dataHelper.Get_Http(url,260,@"点击小图"));
Temp=Str.Replace(" ","").ToString();
}
while(Temp==""||Strings.InStr(Temp,"错误:",0)>0||Strings.InStr(Temp,"对不起",0)>0);
//Str.Append(dataHelper.Get_Http(url,691,@"name=""down"""));
//Temp=Str.Replace(" ","").ToString();
//if(Temp==""||Strings.InStr(Temp,"错误:",0)>0)
//return(Info="");
do
{
T1=Strings.InStr(Str.ToString(),"http://list.china.alibaba.com/buyer/offerlist",0)+44;
}
while(T1==0);
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),".",0)-1;
Temp=Strings.Mid(Str.ToString(),1,T2);
T1=Strings.InStr(Temp,"-",0);
Pid=Temp.Remove(0,T1);
try
{
T1=Strings.InStr(Str.ToString(),"bigheader>",0)+9;
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"</td>",0)-1;
proc=Strings.Mid(Str.ToString(),1,T2);
Str.Remove(0,T2);
}
catch(Exception exp)
{
proc="";
}
try
{
T1=Strings.InStr(Str.ToString(),"发布时间:",0)+4;
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"</td>",0)-1;
timestart=Strings.Mid(Str.ToString(),1,T2);
timestart=timestart.Replace("年","-").Replace("月","-").Replace("日","");
Str.Remove(0,T2);
}
catch(Exception exp)
{
timestart="2005-5-1";
}
try
{
T1=Strings.InStr(Str.ToString(),"效期:",0)+2;
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"</td>",0)-1;
timeend=Strings.Mid(Str.ToString(),1,T2);
timeend=timeend.Replace("年","-").Replace("月","-").Replace("日","");
Str.Remove(0,T2);
}
catch(Exception exp)
{
timeend="2005-7-1";
}
try
{
T1=Strings.InStr(Str.ToString(),"yname",0)+9;
Temp=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"<",0)-1;
crop=Strings.Mid(Str.ToString(),1,T2);
Temp=Str.Remove(0,T2+4500).ToString();
}
catch(Exception exp)
{
crop="";
}
try
{
T1=Strings.InStr(Str.ToString()," ",0)+23;
Temp=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"</fo",0)-1;
Info=Strings.Mid(Str.ToString(),1,T2);
Str.Remove(0,T2);
}
catch(Exception exp)
{
Info="无详细介绍";
}
try
{
T1=Strings.InStr(Str.ToString(),"http://img.china.alibaba.com/img/offer",0)-1;
Temp=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"+id",0)-2;
Pic=Strings.Mid(Str.ToString(),1,T2);
}
catch(Exception exp)
{
Pic="";
}
Random ObjRandom=new Random();
hits=ObjRandom.Next(500)+200;
pq7798.dataHelper DataB=new dataHelper();
SqlCommand cmd=DataB.Sqlcmd("Up_productAdd",CommandType.StoredProcedure);
DataB.Parameters(Mid.ToString(),"@Mid",cmd);
DataB.Parameters(Pid,"@Pid",cmd);
DataB.Parameters(Pic,"@Pic",SqlDbType.NVarChar,50,cmd);
DataB.Parameters(crop,"@Corp",cmd);
DataB.Parameters(proc,"@ProC",SqlDbType.NVarChar,100,cmd);
DataB.Parameters(Info,"@Info",cmd);
DataB.Parameters(timestart,"@timestart",cmd);
DataB.Parameters(timeend,"@timeend",cmd);
DataB.Parameters(hits.ToString(),"@hits",cmd);
DataB.SqlOpen();
cmd.ExecuteNonQuery();
DataB.SqlClose();
}
private void SetPartType()
{
string url,url1,Temp,Info,ProC,Pic,Corp,Pid;
StringBuilder Str = new StringBuilder();
int j,T1,T2,hits;
for(j=58;j<=58;j++) //J为主分类ID
{
url="http://list.china.alibaba.com/buyer/newtrade/"+j.ToString()+".html";
do
{
do
{
Temp=Str.Append(dataHelper.Get_Http(url,1210,"直接到第")).ToString();
}
while(Temp==""||Strings.InStr(Temp,"错误:",0)>0);
do
{
T1=Strings.InStr(Temp,"compareColor",0);
}
while(T1==0);
Str.Remove(0,T1+13);
Str.Replace(@"<font color=""#666666"">该会员所有供应信息</font></a>","");
Str.Replace(@"<font color=""#666666"">查看该会员企业网站</font></a>","");
Str.Replace(@"<table border=""0"" cellspacing=""0"" cellpadding=""0"" 64 height=64 class=porductborder><tr><td >","");
Str.Replace(@"<img src=""http://img.china.alibaba.com/images/buyer/list/trust.gif"" 22 height=14 border=0 align=absmiddle alt=""诚信通指数""><br></font></strong>","");
Str.Replace(@" target=""_blank"" class=numb><font style=""font-size: 13px;font-family:Verdana;font:bold"">","");
Str.Replace(@"<td class=S 15%>","");
Str.Replace(" ","");
do
{
try
{
T1=Strings.InStr(Str.ToString(),"compareBox",0)+120;
Info=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"class=S11",0);
Temp=Strings.Mid(Str.ToString(),1,T2);
Str.Remove(0,T2);
if(Temp=="")
continue;
T1=Strings.InStr(Temp,"img.china",0)-8;
if(T1<1)
Pic="";
else
{
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"jpg",0)+2;
Pic=Strings.Mid(Temp,1,T2); //Pic为产品图片
Pic=Pic.Replace(".summ.jpg","");
Temp=Temp.Remove(0,T2);
}
T1=Strings.InStr(Temp,@"http://detail",0)-1;
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"html",0)+3;
url1=Strings.Mid(Temp,1,T2); //url1产品页
T1=Strings.InStr(url1,@"-",0);
Pid=url1.Remove(0,T1);
T2=Strings.InStr(Pid,@"-",0)-1;
Pid=Strings.Mid(Pid,1,T2);
Temp=Temp.Remove(0,T2);
T1=Strings.InStr(Temp,@"class=""lh15",0)+12;
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"</span",0)-1;
ProC=Strings.Mid(Temp,1,T2); //ProC为产品名
Temp=Temp.Remove(0,T2);
T1=Strings.InStr(Temp,@"><font",0)+22;
Temp=Temp.Remove(0,T1);
T1=Strings.InStr(Temp,@"><font",0)+21;
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"</font",0)-1;
Corp=Strings.Mid(Temp,1,T2); //Corp为公司名
Temp=Temp.Remove(0,T2);
//SetProductInfo(url1,j);
Random ObjRandom=new Random();
hits=ObjRandom.Next(500)+200;
pq7798.dataHelper DataB=new dataHelper();
SqlCommand cmd=DataB.Sqlcmd("Up_productAdd",CommandType.StoredProcedure);
DataB.Parameters(j.ToString(),"@Mid",cmd);
DataB.Parameters(Pid,"@Pid",cmd);
DataB.Parameters(Pic,"@Pic",SqlDbType.NVarChar,50,cmd);
DataB.Parameters(Corp,"@Corp",cmd);
DataB.Parameters(ProC,"@ProC",SqlDbType.NVarChar,100,cmd);
DataB.Parameters(Info,"@Info",cmd);
DataB.Parameters("2005-5-1","@timestart",cmd);
DataB.Parameters("2005-7-1","@timeend",cmd);
DataB.Parameters(hits.ToString(),"@hits",cmd);
DataB.SqlOpen();
cmd.ExecuteNonQuery();
DataB.SqlClose();
}
catch(Exception exp)
{
continue;
}
}
while(Strings.InStr(Str.ToString(),"compareBox",0)>0);
if(Strings.InStr(Str.ToString(),"下一页",0)>0)
break;
Temp=Str.ToString();
T1=Str.Length-Strings.InStrRev(Str.ToString(),"http://list.china.alibaba.com/buyer/newofferlist",1,CompareMethod.Text);
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"html",0)+3;
url=Strings.Mid(Str.ToString(),1,T2);
}
while(true);
}
}
private void button1_Click(object sender, System.EventArgs e)
{
SetPartType();
}
}
}
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Text;
using Microsoft.VisualBasic;
using System.IO;
using System.Net;
using pq7798;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Threading;
namespace SetProc
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private void SetProductInfo(string url,int Mid)
{
string Temp,Info,Pid,Pic,timestart,timeend,proc,crop;
int T1,T2,hits;
StringBuilder Str = new StringBuilder();
do
{
Str.Append(dataHelper.Get_Http(url,260,@"点击小图"));
Temp=Str.Replace(" ","").ToString();
}
while(Temp==""||Strings.InStr(Temp,"错误:",0)>0||Strings.InStr(Temp,"对不起",0)>0);
//Str.Append(dataHelper.Get_Http(url,691,@"name=""down"""));
//Temp=Str.Replace(" ","").ToString();
//if(Temp==""||Strings.InStr(Temp,"错误:",0)>0)
//return(Info="");
do
{
T1=Strings.InStr(Str.ToString(),"http://list.china.alibaba.com/buyer/offerlist",0)+44;
}
while(T1==0);
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),".",0)-1;
Temp=Strings.Mid(Str.ToString(),1,T2);
T1=Strings.InStr(Temp,"-",0);
Pid=Temp.Remove(0,T1);
try
{
T1=Strings.InStr(Str.ToString(),"bigheader>",0)+9;
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"</td>",0)-1;
proc=Strings.Mid(Str.ToString(),1,T2);
Str.Remove(0,T2);
}
catch(Exception exp)
{
proc="";
}
try
{
T1=Strings.InStr(Str.ToString(),"发布时间:",0)+4;
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"</td>",0)-1;
timestart=Strings.Mid(Str.ToString(),1,T2);
timestart=timestart.Replace("年","-").Replace("月","-").Replace("日","");
Str.Remove(0,T2);
}
catch(Exception exp)
{
timestart="2005-5-1";
}
try
{
T1=Strings.InStr(Str.ToString(),"效期:",0)+2;
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"</td>",0)-1;
timeend=Strings.Mid(Str.ToString(),1,T2);
timeend=timeend.Replace("年","-").Replace("月","-").Replace("日","");
Str.Remove(0,T2);
}
catch(Exception exp)
{
timeend="2005-7-1";
}
try
{
T1=Strings.InStr(Str.ToString(),"yname",0)+9;
Temp=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"<",0)-1;
crop=Strings.Mid(Str.ToString(),1,T2);
Temp=Str.Remove(0,T2+4500).ToString();
}
catch(Exception exp)
{
crop="";
}
try
{
T1=Strings.InStr(Str.ToString()," ",0)+23;
Temp=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"</fo",0)-1;
Info=Strings.Mid(Str.ToString(),1,T2);
Str.Remove(0,T2);
}
catch(Exception exp)
{
Info="无详细介绍";
}
try
{
T1=Strings.InStr(Str.ToString(),"http://img.china.alibaba.com/img/offer",0)-1;
Temp=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"+id",0)-2;
Pic=Strings.Mid(Str.ToString(),1,T2);
}
catch(Exception exp)
{
Pic="";
}
Random ObjRandom=new Random();
hits=ObjRandom.Next(500)+200;
pq7798.dataHelper DataB=new dataHelper();
SqlCommand cmd=DataB.Sqlcmd("Up_productAdd",CommandType.StoredProcedure);
DataB.Parameters(Mid.ToString(),"@Mid",cmd);
DataB.Parameters(Pid,"@Pid",cmd);
DataB.Parameters(Pic,"@Pic",SqlDbType.NVarChar,50,cmd);
DataB.Parameters(crop,"@Corp",cmd);
DataB.Parameters(proc,"@ProC",SqlDbType.NVarChar,100,cmd);
DataB.Parameters(Info,"@Info",cmd);
DataB.Parameters(timestart,"@timestart",cmd);
DataB.Parameters(timeend,"@timeend",cmd);
DataB.Parameters(hits.ToString(),"@hits",cmd);
DataB.SqlOpen();
cmd.ExecuteNonQuery();
DataB.SqlClose();
}
private void SetPartType()
{
string url,url1,Temp,Info,ProC,Pic,Corp,Pid;
StringBuilder Str = new StringBuilder();
int j,T1,T2,hits;
for(j=58;j<=58;j++) //J为主分类ID
{
url="http://list.china.alibaba.com/buyer/newtrade/"+j.ToString()+".html";
do
{
do
{
Temp=Str.Append(dataHelper.Get_Http(url,1210,"直接到第")).ToString();
}
while(Temp==""||Strings.InStr(Temp,"错误:",0)>0);
do
{
T1=Strings.InStr(Temp,"compareColor",0);
}
while(T1==0);
Str.Remove(0,T1+13);
Str.Replace(@"<font color=""#666666"">该会员所有供应信息</font></a>","");
Str.Replace(@"<font color=""#666666"">查看该会员企业网站</font></a>","");
Str.Replace(@"<table border=""0"" cellspacing=""0"" cellpadding=""0"" 64 height=64 class=porductborder><tr><td >","");
Str.Replace(@"<img src=""http://img.china.alibaba.com/images/buyer/list/trust.gif"" 22 height=14 border=0 align=absmiddle alt=""诚信通指数""><br></font></strong>","");
Str.Replace(@" target=""_blank"" class=numb><font style=""font-size: 13px;font-family:Verdana;font:bold"">","");
Str.Replace(@"<td class=S 15%>","");
Str.Replace(" ","");
do
{
try
{
T1=Strings.InStr(Str.ToString(),"compareBox",0)+120;
Info=Str.Remove(0,T1).ToString();
T2=Strings.InStr(Str.ToString(),"class=S11",0);
Temp=Strings.Mid(Str.ToString(),1,T2);
Str.Remove(0,T2);
if(Temp=="")
continue;
T1=Strings.InStr(Temp,"img.china",0)-8;
if(T1<1)
Pic="";
else
{
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"jpg",0)+2;
Pic=Strings.Mid(Temp,1,T2); //Pic为产品图片
Pic=Pic.Replace(".summ.jpg","");
Temp=Temp.Remove(0,T2);
}
T1=Strings.InStr(Temp,@"http://detail",0)-1;
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"html",0)+3;
url1=Strings.Mid(Temp,1,T2); //url1产品页
T1=Strings.InStr(url1,@"-",0);
Pid=url1.Remove(0,T1);
T2=Strings.InStr(Pid,@"-",0)-1;
Pid=Strings.Mid(Pid,1,T2);
Temp=Temp.Remove(0,T2);
T1=Strings.InStr(Temp,@"class=""lh15",0)+12;
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"</span",0)-1;
ProC=Strings.Mid(Temp,1,T2); //ProC为产品名
Temp=Temp.Remove(0,T2);
T1=Strings.InStr(Temp,@"><font",0)+22;
Temp=Temp.Remove(0,T1);
T1=Strings.InStr(Temp,@"><font",0)+21;
Temp=Temp.Remove(0,T1);
T2=Strings.InStr(Temp,"</font",0)-1;
Corp=Strings.Mid(Temp,1,T2); //Corp为公司名
Temp=Temp.Remove(0,T2);
//SetProductInfo(url1,j);
Random ObjRandom=new Random();
hits=ObjRandom.Next(500)+200;
pq7798.dataHelper DataB=new dataHelper();
SqlCommand cmd=DataB.Sqlcmd("Up_productAdd",CommandType.StoredProcedure);
DataB.Parameters(j.ToString(),"@Mid",cmd);
DataB.Parameters(Pid,"@Pid",cmd);
DataB.Parameters(Pic,"@Pic",SqlDbType.NVarChar,50,cmd);
DataB.Parameters(Corp,"@Corp",cmd);
DataB.Parameters(ProC,"@ProC",SqlDbType.NVarChar,100,cmd);
DataB.Parameters(Info,"@Info",cmd);
DataB.Parameters("2005-5-1","@timestart",cmd);
DataB.Parameters("2005-7-1","@timeend",cmd);
DataB.Parameters(hits.ToString(),"@hits",cmd);
DataB.SqlOpen();
cmd.ExecuteNonQuery();
DataB.SqlClose();
}
catch(Exception exp)
{
continue;
}
}
while(Strings.InStr(Str.ToString(),"compareBox",0)>0);
if(Strings.InStr(Str.ToString(),"下一页",0)>0)
break;
Temp=Str.ToString();
T1=Str.Length-Strings.InStrRev(Str.ToString(),"http://list.china.alibaba.com/buyer/newofferlist",1,CompareMethod.Text);
Str.Remove(0,T1);
T2=Strings.InStr(Str.ToString(),"html",0)+3;
url=Strings.Mid(Str.ToString(),1,T2);
}
while(true);
}
}
private void button1_Click(object sender, System.EventArgs e)
{
SetPartType();
}
}
}
用正则来匹配是最好的,通过外部配置文件来进行设置,你这样写在程序里真的会累死人。
获得到目标文件源代码后通过配置文件的设置进行匹配列表,分页,标题,匹配内容,匹配。。。。