Eu costumava ouvir outras pessoas fazendo procedimentos de coleta, então hoje vou tentar fazer isso. .
usando o sistema;
usando System.Collections;
usando System.ComponentModel;
usando System.Data;
usando System.Drawing;
usando System.Web;
usando System.Web.SessionState;
usando System.Web.UI;
usando System.Net;
usando System.Text;
usando System.Text.RegularExpressions;
usando System.IO;
usando System.Data.SqlClient;
usando System.Web.UI.WebControls;
usando System.Web.UI.HtmlControls
namespace Temp
;
{
/// <resumo>
/// Descrição resumida de GetHtmlSourceFromUrl.
/// </sumário>
classe pública GetHtmlSourceFromUrl: System.Web.UI.Page
{
SqlConnection privado com;
private void Page_Load (remetente do objeto, System.EventArgs e)
{
//Coloque aqui o código do usuário para inicializar a página
if(!IsPostBack)
{
InserirToDB();
}
}
vazio privado InsertToDB()
{
para(int i=1;i<1000;i++)
{
string HTML = string.Empty;
string SqlText="inserir em BeiJingBus(BusLineNumber,Html) Values(@BLN,@Html)";
string ConnectionString=@"Servidor=.xxxx;User ID=xxxx;Pwd=xxxxx;DataBase=Mapa";
con =new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand(SqlText,con);
string Url=@"http://beijing.ibusdb.com/?busline="+i+"&s=busline&x=31&y=18 "; // ^_^, isso é para pegar Pequim e ir para a página inicial, altere o parâmetros, você pode pegar outras cidades
string Content = string.Empty;
Solicitação HttpWebRequest = (HttpWebRequest)WebRequest.Create(Url);
Resposta HttpWebResponse =(HttpWebResponse) request.GetResponse();
Fluxo StreamReader = new StreamReader(response.GetResponseStream(),Encoding.GetEncoding("gb2312"));
Conteúdo =stream.ReadToEnd();
stream.Fechar();
resposta.Fechar();
int start=3487; //Vá até o anúncio para obter o texto
int end= Content.Length-4222;//Vá até o anúncio para obter o texto
if(end-start>0) //Julgue a existência do i-ésimo barramento
{
Html=Regex.Replace(Content.Substring(start,end-start),@"<[^>]+>","");
tentar
{
cmd.Parameters.Add("@BLN",SqlDbType.Int).Value =i;
cmd.Parameters.Add("@Html",SqlDbType.Text).Value= Html;
con.Open();
cmd.ExecuteNonQuery();
}
catch(SqlException erro)
{
Response.Write(err.Mensagem);
con.Fechar();
quebrar;
}
con.Fechar();
}
}
}
--Tabela SQL script:
CRIAR TABELA [dbo].[BeiJingBus](
[id] [int] IDENTIDADE(1,1) NÃO NULO,
[BusLineNumber] [int] NULO,
[Html] [nvarchar](máx.) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
não usa assinaturas: http://hi.baidu.com/Chen Li/blog