得到页面内容
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);
}
}
}
}
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);
}
}
}
}
相关文章推荐
- 用Request方法从页面得到Html内容…
- 得到页面body区域内容的高度
- Asp组件中级入门与精通系列之四---在组件中得到页面提交的内容
- extjs Ext.Ajax.request 从后台得到 String 字符串 在页面显示器内容
- 将查询得到的json段的一行,设为链接形式,以打开新页面进行详细内容显示
- 得到页面body区域内容的高度
- 如何根据搜索页面内容得到的结果生成该元素的xpath路径
- 从jsp中得到搜索输入的内容,进入后台查询;显示在页面中,页面局部刷新
- 用Request方法从页面得到Html内容时的处理 及 iframe中控件内容的获取
- 通过链接读取页面内容并输入到本地
- 将jsp页面内容保存到excel(转)
- jquery实现html页面的导航的标签内容切换
- 加载ajax内容到页面后的样式重新渲染需$().listview('refresh');
- 在不影响页面内容的情况下来减少站点的页面输出量、增加页面的访问速度。
- 在ASP.NET 2.0中直接得到本页面生成的HTML代码
- 通达OA web页面与精灵显示内容更新后不一致的问题
- PHP配置使PHP在页面中支持<?= $content; ?>输出内容
- PHP配置使PHP在页面中支持<?= $content; ?>输出内容
- PHP配置使PHP在页面中支持<?= $content; ?>输出内容
- 在php页面中显示数据库内容时,中文显示乱码