您的位置:首页 > 其它

得到页面内容

2009-09-04 09:41 176 查看
先引用 Interop.MSXML2.dll

MSXML2.XMLHTTP xmlhttp = new MSXML2.XMLHTTP();
string url = "http://www.guge.cc/board.html?dt=" + date;
xmlhttp.open("GET", url, false, null, null);
xmlhttp.send("");
Byte[] txt = (Byte[])xmlhttp.responseBody;
string content = System.Text.Encoding.GetEncoding("GB2312").GetString(txt).Trim();

int startIndex = content.IndexOf("<tbody>");
int endIndex = content.IndexOf("</tbody>");
string TableString = content.Substring(startIndex + 7, endIndex - startIndex);

Regex regex1 = new Regex(@"<(|/)tr[^>]*>", RegexOptions.IgnoreCase);
TableString = regex1.Replace(TableString, "");
Regex regex2 = new Regex(@"<(|/)a[^>]*>", RegexOptions.IgnoreCase);
TableString = regex2.Replace(TableString, "");
Regex regex3 = new Regex(@"<(|/)font[^>]*>", RegexOptions.IgnoreCase);
TableString = regex3.Replace(TableString, "");
TableString = TableString.Replace("\"", "");
TableString = TableString.Replace("</td>", "");
TableString = TableString.Replace("\r\n ", "");
Regex regex4 = new Regex(@"align=\w*", RegexOptions.IgnoreCase);
TableString = regex4.Replace(TableString, "");
TableString = TableString.Replace("<td >", ",");
TableString = TableString.Replace(" ", "");
string[] AllData = TableString.Split(',');
List<string> myData = new List<string>();
for (int i = 1; i < AllData.Length; i = i + 13)
{
myData.Add(AllData[i] + "," + AllData[i + 11]);
}
foreach (string oneData in myData)
{
string TableName = "IndustryJLR";

string[] data = oneData.Split(',');

try
{
if (SqlHelper.ExecuteDataTable("select jdate from " + TableName + " where jdate ='" + date + "'").Rows.Count > 0)
{
string sql = "update " + TableName + " set " + data[0] + "=" + data[1] + " where jdate ='" + date + "'";
SqlHelper.ExecuteNonQuery(sql);
}
else
{
string sql = "insert into " + TableName + "(jdate," + data[0] + ") values ('" + date + "'," + data[1] + ")";
SqlHelper.ExecuteNonQuery(sql);
}
}
catch (Exception ex)
{
if (ex.ToString().IndexOf("列名") >= 0 && ex.ToString().IndexOf("无效") >= 0)
{
string sqlAdd = "alter table [dbo].[" + TableName + "] add " + data[0] + " decimal(18,2)";
SqlHelper.ExecuteNonQuery(sqlAdd);
if (SqlHelper.ExecuteDataTable("select jdate from " + TableName + " where jdate ='" + date + "'").Rows.Count > 0)
{
string sql = "update " + TableName + " set " + data[0] + "=" + data[1] + " where jdate ='" + date + "'";
SqlHelper.ExecuteNonQuery(sql);
}
else
{
string sql = "insert into " + TableName + "(jdate," + data[0] + ") values ('" + date + "'," + data[1] + ")";
SqlHelper.ExecuteNonQuery(sql);
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: