200分求关于信息采集的问题。

gbbword 2008-09-30 07:52:34
1.关于采集的。我的采集信息用的是正则式。我的正则式只能采集单个记录里的一个字段。表达式是这样(起始字符)(?<字段1的内容>.*)(结束字符)
这样的话每次就只能采集一个信息里的一个字段,我想一次能采集倒一个信息里的所有字段。我设想的是这样生成正则式
(起始字符1)(?<字段1的内容>.*)(结束字符1)(.*)(起始字符2)(?<字段2的内容>.*)(结束字符2)
可是这样我就采集补到,希望能给点帮助。
2.关于采集道德信息如何删除其中的HTML标签的。如何删除其中的HTML标签呢?再假如,如果我采集的信息内容本身就是HTML源代码的话,如和提出其信息中的HTML标签呢?
3.关于分页采集的,如何采集多个页面?是使用全站搜索类似爬虫程序,还是根据网址里网页参数变化来采集呢?比如Http://www.aa.com?page=*(0-200)
如果是后者,那么如何采集没有直接网址,而是用JAVASCRIPT 函数处理的网页呢?希望能给点思路。
4.关于采集非文字类信息,比如文件,电影,图片,Mp3等等,如何采集,如果有目录结构的如何实现跟所采集的网站一致呢。
5.关于采集时,是用多线程还是单线程呢?同步和异步?对这部份我不是很懂,希望能点建议。
6.关于发布,是直接发布到目标数据库,如果目标数据库是再服务器上,能够直接连接呢?如果是ACESS数据库又该如何操作呢?如果是支持发不到论坛,又该如何操作呢?
7.关于建立采集任务时,是单个任务一个数据库呢?还是公用一个数据库?如何新建一个数据库,比如新建一个ACCESS数据库文件。
关于问题,只要能解答其中一个就给分。对于分数我从来不吝啬。
如果分不够我可以另开贴给分。而且我想这个问题对于很多写信息采集的都有用处的。
请大家放心我一定会给予大家足够的分的。
...全文
130 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
guobeibei 2008-09-30
  • 打赏
  • 举报
回复
可能是我说的不够明白。不过还是谢谢楼上。
1.我所寻找的是用一个表达式直接获取一条记录内的所有字段。你说的我已经实现了。
而且你没有仔细看我开头的表达式。我已经写出来。但是我测试的时候没有结果,不知道是我的表达式有问题还是别的什么问题。所以我想求个表达式。
2.我知道能替换,关键是我需要怎么替换,把所有的HTML的标签全部列出来?
这样string.Replace("<br>");
string.Replace("</br>");
string.Replace("<html>");
string.Replace("</html>");
............
这样要写的代码是不是太多了?
3.关键就是怎么分析,我就是不知道如何如分析才能吧JS的执行结果得到。能不能举个列子?
4.我自己解决吧。
5.创建数据库我是会的。可以把单个数据库作为一个文件吗?我不知道可不可以这样,关键就是ACCESS。
6.我是想写一个能让任何人用的采集信息的通用程序。我不知道未来的用户是否使用服务器。和什么样子的服务器。这个还是我自己再找找吧。
XPingguo 2008-09-30
  • 打赏
  • 举报
回复
1.先分开记录,再分析字段
string html = "<div><ul><li>1</li><li>AAA</li></ul></div><div><ul><li>2</li><li>BBB</li></ul></div>";
string pattern = "<div>(.*?)</div>"; 先取记录块
string patternIDName = "<li>(.*?)</li><li>(.*?)</li>"; 再分析字段

string[] array = .. // 匹配的记录块
for(int i = 0; i < array.Length; i++)
{
...进行字段匹配
}

2.HTML标签简单就Replace掉

3.JAVASCRIPT,具体问题具体分析

4.根据自已的需求,自已定吧

6.难道接受服务器不是你的自已的。
如果是别人的服务器,就告诉他POST的字段,让他自已处理。

7.新建ACCESS不知道,SQL Server 可用 CREATE DATABASE 实现,很简单,自已搜吧

你好象对web不了解,有些不能一步到位,就慢慢改吧
gbbword 2008-09-30
  • 打赏
  • 举报
回复
1.如果我再一个页面截取多个记录,而且每个记录有包含有多个字段,每个记录的字段有的有内容,有的没内容,这样的情况下,如何去识别多个字段是再一条记录内的?能否给点正则式的具体写法?
2,我的正则式是截取起始字符和结束字符中间的作为我信息的内容,有些时候,或者很多时候就会有HTML标签。比如<br></br>等等。
这个时候如何剔去他呢?
3.如何提取用JAVASCRIPT函数里产生的地址呢?
4.下载的mp3保存再一个文件夹里?还是根据网址来自动生成目录结构呢?而对于用JavaScript类型的网址有如何自动生成目录呢?
6.我要写的是个通用的,这样我不可能写一个所有数据库都能用的,就是能写,用什么脚本来写呢?如果服务器上只有PHP+mysql,那我需要怎么实现这个脚本呢?ASP,PHP,JSP,我都写一个?
7.我觉得还是一个任务一个数据库比较好。如何通过我的程序去新建一个ACCESS数据库文件,SQL数据库文件。希望你能给点代码看看。或者参考书籍也可以。
消失的尘芥 2008-09-30
  • 打赏
  • 举报
回复
顶上了
XPingguo 2008-09-30
  • 打赏
  • 举报
回复
有些想具体也,具体不起来。
那里有问题,说来听听
gbbword 2008-09-30
  • 打赏
  • 举报
回复
先谢谢楼上给我的建议。能不能说的具体点。再次感谢楼上,先预付30给你。
XPingguo 2008-09-30
  • 打赏
  • 举报
回复
1.一次采集所有字段。
可以啊,正则复杂点,就怕修改时,会把自已弄晕掉
还是一个正则取一个字段吧,好调试,修改

2.删除HTML标签做什么,不是用正则吗,取出想要的内容就行

3.如果分页文件名是随机名,就用爬虫程序,不然用网页参数变化会简单些
JAVASCRIPT,分页参数可能是POST过去,那就用GET试试,不行就POST,就是传递一些参数

4.采集到文件,电影,图片,Mp3等等,把地址交给专门一个类来处理
让这个类来处理

5.多线程还是单线程。看你心情
多线程,占资源。
一般采集的内容会很多,用多线程,可以加速度。

6.服务器弄个接口页面,采集端把数据POST过去,再存入数据库。

7.数据不是很多,就用一个数据库吧

上面纯个人看法。
gbbword 2008-09-30
  • 打赏
  • 举报
回复
呵呵。也许是问题多了点,不过我没有说能解决所有问题
只要能解决其中的一个就可以给分了。
kingcsx666 2008-09-30
  • 打赏
  • 举报
回复
看的头晕啊,不过还是友情帮顶
bizbuy 2008-09-30
  • 打赏
  • 举报
回复
这么多问题怎么回答呢,应该就关键的问题提问,一般一两句话可以解决问题的问题,比较容易得到解决
gbbword 2008-09-30
  • 打赏
  • 举报
回复
自己先顶一个。顶倒前面去。
gbbword 2008-09-30
  • 打赏
  • 举报
回复
还有一种情况就是,网页里嵌套有框架的。这样我即使打开了网页,获取了源代码,可是采集不倒信息。
XPingguo 2008-09-30
  • 打赏
  • 举报
回复
你的内容是什么样的
你的正则式怎么写的
guobeibei 2008-09-30
  • 打赏
  • 举报
回复
不是马甲,是因为那个是以前的号不能下载,所以换个名字。
XPingguo 2008-09-30
  • 打赏
  • 举报
回复
讲呀~ 讲呀~
怎么来了个马甲~
guobeibei 2008-09-30
  • 打赏
  • 举报
回复
1.我就是想求个能获取整条的正则式。
2.你考虑的不够周到。你的那个正则式会把所有的<和>之间的内容都屏蔽掉,不管她是不是HTML标签。
这个我已经向好了怎么解决了。
3.不是说JS做分页,而是防采集的。
XPingguo 2008-09-30
  • 打赏
  • 举报
回复
1.测试的时候没有结果,就说你的正则表达示有问题。

2.可以用正则替换HTML的标签
string pattern = "<(.+?)>";

3.你给个例子,我看看。很少有网站用JS做的分页导航

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧