站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
PHP168:整站采集教程
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="text-align:center; border:1px solid #000; float:right; padding:6px; margin-bottom:10px;"><strong>导航: </strong> [[PHP168:数据采集指南|上一级]] | [[PHP168]] | {{Template:php168导航}}</span> <div style="clear:both; border:1px solid #999; font-size:15px; font-weight:bold; padding:0 5px; margin:20px 0 20px; background:#f0f0f0;"> 整站采集教程---入门 </div> '''第一步:'''找到一个要[[采集]]的[[网站]]的列表页.如: <nowiki>http://wind.yinsha.com/ashow.php?sid=2</nowiki> <div style="border:1px solid #999; width:607px;"> [[{{ns:image}}:php168_10.jpg]]</div> 然后在后台采集参数那里新建一条采集规则.<br> <span style="color:red;">规则名称: </span><br> 这一项可以自由定义. 文章列表有多页,每页换一行 <br> 这一项.你就复制多个列表页的网址进去吧,比如 <br> <nowiki>http://wind.yinsha.com/ashow.php?sid=2 </nowiki><br> <nowiki>http://wind.yinsha.com/ashow.php?sid=2&order=publish&size=20&page=2 </nowiki><br> <nowiki>http://wind.yinsha.com/ashow.php?sid=2&order=publish&size=20&page=3</nowiki> <br> <nowiki>http://wind.yinsha.com/ashow.php?sid=2&order=publish&size=20&page=4</nowiki> <span style="color:red;">自定义正则语法规则: </span><br> 这一项是最关键的. <br> 打开任意一页被采集的列表页如 <nowiki>http://wind.yinsha.com/ashow.php?sid=2 </nowiki> 查看网页[[源代码]],然后把所有代码粘贴到[[DreamWeaver]][[网页]]编辑器(必须选择代码模式)里 粘贴后.选择编辑模式,然后随便选定一个标题,如下图 <div style="border:1px solid #999; width:498px;"> [[{{ns:image}}:php168_11.jpg]]</div> 再切换到代码模式. 如下图 <div style="border:1px solid #999; width:798px;"> [[{{ns:image}}:php168_12.jpg]]</div> 我们选定红色框住那部分代码做正则处理. <pre style="border:1px solid #999; background:white; width:888px;"> <img src=images/11.gif border=0> <a href="/a/2/200804/2008041513560754.htm" target=_blank>城市角落的暖意</a> </td> </pre> 处理后变成 <pre style="border:1px solid #999; background:white; width:888px;"> <img src=images/11.gif border=0> <a href="{url=NO"}" target=_blank>{title=NO<}</a> </td> </pre> 以上这段代码就是我们最终需要的正则规则了. 讲解如下: 标题换用了 '''{title=NO<}''' 链接地址换用了 '''{url=NO"}''' 换用的意思.就是为了实现通配符的意思.而通配符如何定义呢? 上面的固定格式如下 {变量名=规则} 这是一个固定的格式. 大家最需要设置的就是大括号里的规则.因为变量名就几个.如url title content 规则原理是这样的. NO后面跟着什么字符.就代表不包含这样的字符.大家可以知道.地址当中不可能包含有"双引号的.所以我们定义为 '''{url=NO"}''' 对标题而言.标题里不可能包含有<这个符号的.所以我们定义为 '''{title=NO<}''' 不包含什么字符.我们如何判断呢.遵循一个就近右边原则.就是看他的周围是什么字符.那它就不包含此字符. 比如上面的 href="地址" 如果换成 href='地址' 这种单引号的话,那就要相应的把替换换成 '''{url=NO'}''' 又如果.连单引号与双引号都不是的话,如 href=地址 title=''> 他右边是空格.此时替换变成 '''{url=NO }''' 就是不含有空格了. 又如果是这种情况呢 href=地址> 他的右边是>号此时就要换成 '''{url=NO>}''' 通过以上几个例子,大家可以看出来.就是看他右边是什么符号.就输入什么符号.就近右边原则. 标题的取法跟地址一样的道理.不过标题一般都是采用<符号就比较通用了(个别情况除外,会另外有进阶教程). 这样设置好正则规则后,就可以把标题采集回来了. 然后再设置如何采集内容. 内容的采集.一般也就设置一项足够了.也就是正则规则. 随便打开一个被采集网站的内容页.如 <nowiki>http://wind.yinsha.com/a/2/200801/2008011921152760.htm</nowiki> 同样的道理.查看网页源代码.复制源代码到Dreamweaver网页编辑器(必须选择代码模式)里 然后再切换到编辑模式. 此时,如果文字内容太多的话,可以先删除一部份,必须在编辑模式下删除,主要是方便查看. 删除部分内容后.选中文章内容. 然后切换到代码模式.如下图 <div style="border:1px solid #999; width:777px;"> [[{{ns:image}}:php168_17.jpg]]</div><br> <div style="border:1px solid #999; width:720px;"> [[{{ns:image}}:php168_13.jpg]]</div> 以上是删除了部份文章内容.方便查看.并且用同样的方法.查看了另一篇文章.目的是为了实现对比.查找通配替换. 我们可以看到.他的通配规则是如下 <div style="border:1px solid #999; width:452px;"> [[{{ns:image}}:php168_14.jpg]]</div> 以上这段就是我们最终需要的正则规则了. 内容的正则格式为什么=号后面是*号.而不是NO符号呢.那是因为内容的字符串太多了.也太复杂了.统一使用*号.也就是固定这样使用. 最后大家值得注意的几点是.取某段代码做正规的时候.不能太少.太少的话.就有可能跟其他地方有重复的情况出现.也就是不准确.也不能太多.太多的话.就有可能不是通用了.成不了通配符了.适可而止.多次偿试. 另外注意不能有多余的空格与换行符 大家可以自己采集一下这个网站:<nowiki>http://wind.yinsha.com/ashow.php?sid=2</nowiki> 这个站比较有代表性. <div style="border:1px solid #999; width:607px;"> [[{{ns:image}}:php168_10.jpg]]</div><br> <div style="border:1px solid #999; width:498px;"> [[{{ns:image}}:php168_11.jpg]]</div><br> <div style="border:1px solid #999; width:798px;"> [[{{ns:image}}:php168_12.jpg]]</div><br> <div style="border:1px solid #999; width:777px;"> [[{{ns:image}}:php168_17.jpg]]</div><br> <div style="border:1px solid #999; width:720px;"> [[{{ns:image}}:php168_18.jpg]]</div><br> <div style="border:1px solid #999; width:452px;"> [[{{ns:image}}:php168_19.jpg]]</div> <div style="border:1px solid #999; font-size:15px; font-weight:bold; padding:0 5px; margin:20px 0 20px; background:#f0f0f0;"> 整站采集教程---如何过滤内容的广告内容 </div> 如何过滤内容的画中画广告内容? 一般画中画广告内容都是一段JS代码.比如 <SCRIPT LANGUAGE="JavaScript" src='地址'></SCRIPT> 此时你需要修改采集参数中的内容规则,选择(如下图) 显示不常用的高级设置(一般不用) <div style="border:1px solid #999; width:798px;"> [[{{ns:image}}:php168_20.jpg]]</div> 在以上 '''要替换文章中的字符: ''' 这一项输入如下代码 [[JavaScript]]" src='|JavaScript" src='abc 请注意你要采集文件的这些字母的大小写. 输入一个ABC目的是破坏他的路径. 有的时候.他不是js代码.而是其他DIV 或者是table的话.你就输入以下代码 <pre style="border:1px solid #999; width:588px; background:white;"> <div|<div style="display:none;" <table|<tablestyle="display:none;" </pre> 目的就是为了隐藏它,不要显示出来 一般都是以上这两种情况的. [[Category:PHP168数据采集]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Php168导航
(
查看源代码
)(受保护)