- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下述为新闻采集程序,在理解了新闻采集程序的基础之上就可以做出网络爬虫程序了.
今天,我们讨论的是网站新闻采集程序的制作。所谓新闻采集程序,就是自动抓取网上信息,并保存到自己网站数据库的一种程序。现在很多大型网站都有自己的新闻采集系统,其中许多采集系统价值不菲。通过这篇文章,我希望大家都能自己做一个采集程序,来维护自己的网站。
为了便于理解,先阐述一下本文的新闻采集程序的一些基本信息。这里的新闻系统,是用delphi实现,并将采集到的数据保存到本地access数据库。所以,这将是一个基与桌面的采集程序,而不是类似“动易采集”的基于浏览器。个人认为,基于桌面的采集系统,更容易实现强大的功能,有更高的稳定和安全性能。而经过扩展,大家完全可以把这个例子做成可以访问远程数据库的大型采集系统。
在说如何制作采集程序之前,我们先来定义一个本地access数据库,用来存取采集到的信息。这个数据库只有一个表,表名”T_Article”,该表有ArticleID、ClassID、Title、Keyword、CopyFrom、Content六个字段,分别代表新闻的编号、类别编号、标题、关键字、出处、内容。
首先,所谓采集,第一步当然是要能抓取信息,并且是能按照用户的要求,从网上抓取相关信息。这里假设我们要抓取 /article/69/69929.shtm 的文章,加到自己网站的“delphi技术”这么一个栏目。首先要做的,是读取 /article/69/69929.shtm 上的文章列表,然后通过列表索引,逐篇将文章正文内容读到我们的网站数据库。接下来将是关键,如何采集 /article/69/69929.shtm 上的文章列表。这里分为两步,一、利用delphi网络功能,读取69929.shtm的HTML源文件。二、通过分析69929.shtm的源文件,截取其中列表部分。第一步的实现,可以用delphi的indy控件族的idHTTP控件,该控件在indy Clients面板,该控件的具体使用,将在后面讲解,现在我们只要知道,给定一个URL地址,就能通过indy控件返回该URL的网页源代码。第二步的实现,则是简单的字符串处理了。
我们先来讨论第二步如何实现,打开/article/69/69929.shtm ,可以看到左边是“我的技术中心”“最新文档列表”等东西,这些和我们没有关系。右边则是一篇篇文章的列表,这些就是我们要的。如何截取列表里的内容呢?查看网页的源代码,CTRL+F查找“标题”,可以发现这样一段代码:
!-- /左侧栏目 --
td width=5 valign=top/td
td width=786 valign=top
table width=100% height=57 border=0 align=center cellpadding=3 cellspacing=0
bordercolorlight=#000000 bordercolordark=#FFFFFF
tr bgcolor=#006699
TD height=19
bfont color=#ffffff标题/font/b
对了,这就是列表的开始,那么列表结束的位置,显然是在这里:
td nowrap=nowrap共 2475 篇文章 第 1/71 页/tdtd nowrap=nowrap align=Righta第一页/anbsp;|
a上一页/anbsp;|
a href=javascript:__doPostBack(ArticleList1$ArticleList1$PageNav1,2)下一页/anbsp;|
a href=javascript:__doPostBack(ArticleList1$ArticleList1$PageNav1,71)末页/anbsp;|
跳转到select name onchange=javascript:__doPostBack(ArticleList1:ArticleList1:PageNav1,this.value)
option selected=selected value=11/option
接下来,我们要做的只是利用字符串函数,截取这两段代码中间的部分——“文章列表”。具体函数,也将在后面详细讲解。得到文章列表后,我们还要进一步处理,截取出每篇文章的url地址,因为前边已经讲过,给定一个url,idHTTP控件能够返回网页代码。当我们返回文章列表里每篇文章的源代码的时候,就等于说把文章内容采集回来了,只要进一步分析处理,就能保存进本地数据库,从而完成采集工作。
那么如何取得文章列表里每篇文章的url呢?通过查看69929.shtm的源文件,我们发现列表里的每个超链接是这样的格式:a id=Art
您可能关注的文档
最近下载
- T∕CIECCPA 046-2023 废SCR 脱硝催化剂循环利用技术规范.pdf
- 《烹饪工艺学》教学课件.ppt VIP
- 群落生态学基础生态学.pptx VIP
- 呼吸系统常见疾病及其药物治疗.pptx VIP
- 高三试卷:四川省成都市第七中学2024-2025学年高三上学期11月期中考试化学.docx VIP
- 砖瓦施工职业发展研究报告.pptx VIP
- 南京绿地广场紫峰大厦项目研究报告.ppt VIP
- G10-40SQF钢筋混凝土化粪池明细工程量.xlsx VIP
- 《GB/T 40595-2021并网电源一次调频技术规定及试验导则》.pdf
- 2023年CCAA注册审核员《产品认证基础》真题及答案.docx VIP
文档评论(0)