我正在做一个网站数据的采集工具,是C#写的WINFORM应用程序。初步设计的采集步骤是:1。人工分析对象网站的文章列表页的代码,找到列表的标题和文章连接的规律。2。设定一个匹配规则比如http://www.rayli.com.cn/region/00161.html右侧的列表页。代码如下:<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle">
<a href="http://www.rayli.com.cn/2005-02-18/00161116747.html" target="_blank" class="A1">犹入仙境 珠宝魅力</a> 2005-02-18 10:53<br>
<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle">
<a href="http://www.rayli.com.cn/2005-02-18/00161116740.html" target="_blank" class="A1">东瀛街头炽手搭配</a> 2005-02-18 10:40<br>
<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle">
<a href="http://www.rayli.com.cn/2005-02-18/00161116731.html" target="_blank" class="A1">怡人春装 靓足七日</a> 2005-02-18 09:15<br>所以规律就是<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle">
<a href="[文章连接]" target="_blank" class="A1">[文章标题]</a> [变数]<br>但是现在有个问题。我的目的是采集上面的文章连接,文章标题。我也已经把目标网站的代码读取到本地的string变量里面。我应该怎样操作这个字符串才能获得这些数据呢?匹配字符串的时候不能使用通配符,那么[变数]如何写规则?好象都很复杂,我想了好几天了。希望有人能给点提示。谢谢
<a href="http://www.rayli.com.cn/2005-02-18/00161116747.html" target="_blank" class="A1">犹入仙境 珠宝魅力</a> 2005-02-18 10:53<br>
<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle">
<a href="http://www.rayli.com.cn/2005-02-18/00161116740.html" target="_blank" class="A1">东瀛街头炽手搭配</a> 2005-02-18 10:40<br>
<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle">
<a href="http://www.rayli.com.cn/2005-02-18/00161116731.html" target="_blank" class="A1">怡人春装 靓足七日</a> 2005-02-18 09:15<br>所以规律就是<img src="/images/fshpd/fs_2_but01.gif" width="15" height="17" align="absmiddle">
<a href="[文章连接]" target="_blank" class="A1">[文章标题]</a> [变数]<br>但是现在有个问题。我的目的是采集上面的文章连接,文章标题。我也已经把目标网站的代码读取到本地的string变量里面。我应该怎样操作这个字符串才能获得这些数据呢?匹配字符串的时候不能使用通配符,那么[变数]如何写规则?好象都很复杂,我想了好几天了。希望有人能给点提示。谢谢
修改成winform即可
result = getPage(txtURL.Text.Trim());
string TitleLeft,TitleRight;
TitleLeft = txtLeft.Text.ToString();
TitleRight = txtRight.Text.ToString();
int CountLeft = result.IndexOf(TitleLeft) + TitleLeft.Length;
int CountRight = result.IndexOf(TitleRight);
txtHTML.Text = result.Substring(CountLeft,CountRight - CountLeft);
我是这么取的,但是取的总是不符合要求
getPage方法就是取目标页面的原代码的
http://dotnet.aspx.cc/ShowDetail.aspx?id=C2BCFA0A-D4E5-4791-87F3-C0B2AA2B7B5B
修改成winform即可
这种方法我要是换网站就要重写正则表达式,但是程序的用语不会正则表达式的
而且可以提取标题吗?那个只能取连接吧?
VB我不擅长的
期待中
思路差不多,但是实现不一样,现在就想讨论一下
一个规则中多个变量和网页代码匹配的问题
具体还是看我的问题中的内容
谢谢
gz!!
想问一下你的程序是不是每换个网站就要写一次正则表达式?
自己去下载:
http://www.dedecms.com
现在稳定运行在http://news.5617.com/nc