| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2708 人关注过本帖
标题:怎样用C#截取网页的某一块的文字?(已解决)
取消只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:6 
怎样用C#截取网页的某一块的文字?(已解决)
http://www.go108.com.cn/go108_daystar.php?starname=7


感谢chenjin145帮忙



源代码:

rMnFrqk5.rar (93.39 KB) 怎样用C#截取网页的某一块的文字?(已解决)




[此贴子已经被作者于2006-9-2 15:49:50编辑过]

搜索更多相关主题的帖子: 网页 文字 daystar php 
2006-08-21 18:48
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
你能说说平常是怎么处理的吗?

例如你怎么从下面这些字符里面把我要的挑出来??

" <td align="left" valign="middle" class="style2">
<p align='center'><img src='2006images/7.gif'></p><div align='right'><a href='http://www.go108.com.cn/xuanchuan/free_chanpin_list.html' target='_blank' class='STYLE5'>更多运势</a> &nbsp;&nbsp;<a href='email_edm_input.php' target='_blank' class='STYLE5'>订阅运势</a></div><br>2006年8月22日<br>总运指数:<span class='STYLE3'>★★★☆☆</span><br> <span class='STYLE4'>有桃花运</span><br>真情告白:<span class='STYLE4'>今天会有桃花送上门来,对方比较主动,你也应该热情主动一些,小心因为太摆架子,而错过一段好姻缘喔。</span><br>今日适合:<span class='STYLE4'>约会</span><br> <span class='STYLE4'>有月老为你牵红线,就来场浪漫的约会吧,脸上挂上你那迷人的微笑就能深深地吸引对方,今天将会让你感到无比的幸福与满足!</span><p align='center'><a href='go108_daystar.php?starname=7&page=2' class='STYLE2'>下一页</a></p><div align='right'><a href='go108_weekstar.php?weekstar=6' class='STYLE5'>每周运程</a></div><div align='right'><a href='go108_monthstar.php?montstar=7' class='STYLE5'>每月运程</a></div><div align='right'><a href='go108_yearstar.php?yearstar=6' class='STYLE5'>06年运程</a></div> </td>
"
2006-08-22 13:10
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
<br>2006年8月22日<br>总运指数:<span class='STYLE3'>★★★☆☆</span><br> <span class='STYLE4'>有桃花运</span><br>真情告白:<span class='STYLE4'>今天会有桃花送上门来,对方比较主动,你也应该热情主动一些,小心因为太摆架子,而错过一段好姻缘喔。</span><br>今日适合:<span class='STYLE4'>约会</span><br> <span class='STYLE4'>有月老为你牵红线,就来场浪漫的约会吧,脸上挂上你那迷人的微笑就能深深地吸引对方,今天将会让你感到无比的幸福与满足!</span>


2006年8月22日
总运指数:★★★☆☆
有桃花运
真情告白:今天会有桃花送上门来,对方比较主动,你也应该热情主动一些,小心因为太摆架子,而错过一段好姻缘喔。
今日适合:约会
有月老为你牵红线,就来场浪漫的约会吧,脸上挂上你那迷人的微笑就能深深地吸引对方,今天将会让你感到无比的幸福与满足!



以前有个截取天气的,我现在找不回来了

[此贴子已经被作者于2006-8-22 13:57:29编辑过]

2006-08-22 13:56
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
Sorry, 说漏了,要在那个页面先找出这段代码, 然后再解出来,

谢谢你上面的代码...
2006-08-22 15:33
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

string firstPage = "http://www.go108.com.cn/go108_daystar.php?starname=7";
//string secondPage = "http://www.go108.com.cn/go108_daystar.php?starname=7&page=2";

try
{
WebClient astoWebClient = new WebClient();

//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。
astoWebClient.Credentials = CredentialCache.DefaultCredentials;

Byte[] pageData = astoWebClient.DownloadData(firstPage);//从指定网站下载数据

string pageHtml = Encoding.Default.GetString(pageData); //获取的网站页面采用的是GB2312格式
//string pageHtml = Encoding.UTF8.GetString(pageData); //获取的网站页面采用的是UTF-8格式

pageHtml = pageHtml.Trim(); //先去掉头部多余的空格

int m = pageHtml.IndexOf("订阅运势"); //找出"订阅运势"的位置
string pageText = pageHtml.Remove(0, m+18); //删除"订阅位置"以上的html文本

int n = pageText.IndexOf("下一页"); //找出"下一页"的位置
string keyText = pageText.Remove(n-86); //删除"下一页"以下的html文本

//利用Split方法把关键html文本分开成字符串数组
string[] strs = keyText.Split(new char[] { '<', '>' }); //char spliter[] = { '<', '>' };
for(int i = 0; i<strs.Length; i++)
{
//MessageBox.Show(strs[i]);

if(strs[i]==" ") //删除<br> <span class='STYLE4'>之间多余的空格
continue;

if(strs[i].IndexOf("br") > -1) //遇到br就换行
{
richTextBox1.AppendText("\n");
}
else
{
if(strs[i].IndexOf("span") > -1) //遇到span不处理
{
}
else
{
richTextBox1.AppendText(strs[i]); //输出关键的文本
}
}
}

/*
using(StreamWriter sw = new StreamWriter("f:\\ouput.html")) //将获取的内容写入文本
{
sw.Write(pageHtml);
}
*/
}
catch(WebException webEx)
{
MessageBox.Show(webEx.ToString());
}

[此贴子已经被作者于2006-8-23 14:13:03编辑过]

2006-08-23 13:30
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
恩,谢谢
2006-08-23 13:57
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
我把代码传了上来,是.net 2003的
2006-09-02 15:50
快速回复:怎样用C#截取网页的某一块的文字?(已解决)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018051 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved