CMSware针对DZ/PHPWIND的采集函数
来自站长百科
导航:返回上一页
对Discuz的采集[ ]
- 采集索引页有效区域定位规则:
/">最后发表<\/td>(.*)newtopic\.gif/isU
- 有效内容页URL过虑规则:
/common.gif">[^<>]*<a href=\"([^<>]*)&extra=/isU
- common.gif 是带有附件的标志,也可以使用这个:
/firstnew.gif.*<a href="([^<>]*)&extra=/isU
- 标题:
/">标题:([^\n]*)<\/td>/isU
- 附件地址:
/附件</A>.*"(attachment[^<>]*)\" [^<>]*>[^<>]*\.torrent/isU
.torrent 可以自由更改成你需要的附件种类,gif啦、jpg呀什么的。需要加过滤函数把attachment替换成网站地址
- 帖子内容:
/<span[^n]*font-size[^n]*>(.*)</tr></table>/isU
- 缩略图:
/<span[^n]*font- size[^n]*>.*window.open('([^\?]*)').*该附件/isU
以上规则灵活应用,给一个过滤函数
/** * 替换论坛采集前图片代码 */ function crawler_clear_bbs_con($str) { $clear_pattern = array( '1' => array( 'pattern'=>"/&\;noupdate=yes/isU" ,'replace'=>"" ), '2' => array( 'pattern'=>"/<img[^<>]*binary.gif[^<>]*>/isU" ,'replace'=>"" ), '3' => array( 'pattern'=>"/<img[^<>]*image.gif[^<>]*>/isU" ,'replace'=>"" ), '4' => array( 'pattern'=>"/<img[^<>]*sigline.gif(.*)<\/td>/isU" ,'replace'=>"" ), '5' => array( 'pattern'=>"/<img[^<>]*common.gif[^<>]*>/isU" ,'replace'=>"" ), '6' => array( 'pattern'=>"/<img[^<>]*text.gif[^<>]*>/isU" ,'replace'=>"" ), '7' => array( 'pattern'=>"/if\(this.width[^)]*\)/isU" ,'replace'=>"" ), '8' => array( 'pattern'=>"/<img[^\n]*src=[^\n]*http:\/\/img\.verycd\.com\/posts/isU" ,'replace'=>"<emuleimg src=\"http://eimg.bt86.com/posts" ), '9' => array( 'pattern'=>"/onload=\"[^\n]*this\.width[^\n]*\"/isU" ,'replace'=>"" ), '10' => array( 'pattern'=>"/onload='[^\n]*this\.width[^\n]*'/isU" ,'replace'=>"" ), '11' => array( 'pattern'=>"/onmouseover=\"[^\n]*\"/isU" ,'replace'=>"" ), '12' => array( 'pattern'=>"/onmouseover='[^\n]*'/isU" ,'replace'=>"" ), '13' => array( 'pattern'=>"/onclick=\"[^\n]*\"/isU" ,'replace'=>"" ), '14' => array( 'pattern'=>"/onclick='[^\n]*'/isU" ,'replace'=>"" ), '15' => array( 'pattern'=>"/onmousewheel=\"[^\n]*\"/isU" ,'replace'=>"" ), '16' => array( 'pattern'=>"/onmousewheel='[^\n]*'/isU" ,'replace'=>"" ), '17' => array( 'pattern'=>"/src='/isU" ,'replace'=>"src=\"" ), '18' => array( 'pattern'=>"/src=`/isU" ,'replace'=>"src=\"" ), '19' => array( 'pattern'=>"/\.jpg'/isU" ,'replace'=>".jpg\"" ), '20' => array( 'pattern'=>"/\.jpg`/isU" ,'replace'=>".jpg\"" ), '21' => array( 'pattern'=>"/\.gif'/isU" ,'replace'=>".gif\"" ), '22' => array( 'pattern'=>"/\.gif`/isU" ,'replace'=>".gif\"" ), '23' => array( 'pattern'=>"/\.png'/isU" ,'replace'=>".png\"" ), '24' => array( 'pattern'=>"/\.png`/isU" ,'replace'=>".png\"" ), '25' => array( 'pattern'=>"/\.jpeg'/isU" ,'replace'=>".jpeg\"" ), '26' => array( 'pattern'=>"/\.jpeg`/isU" ,'replace'=>".jpeg\"" ), ); foreach($clear_pattern as $key=>$var) { $str = preg_replace($var['pattern'],$var['replace'], $str); } return $str; }
对Phpwind的采集[ ]
- 采集索引页有效区域定位规则:
/最后发表</td></tr>(.*)wind /post.gif/isU
- 有效内容页URL过虑规则:
/<a[^n]*'(read\.php\?tid=[0-9]*)['&]+[^n]*file/zip.gif/isU
- 标题:
/主题:</b> ([^n]*)</td>/isU
- 附件:
/<a href='(job\.php\?action=download[^\n]*tid=[0-9]+[^\n]*aid=[0-9]+)'/isU
- 帖子内容:
/'tpc_content'[^<>]*>(.*)附件: <img/isU
- 缩略图:
/'tpc_content'.*window[^?]*open(('[^\?]*)').* 附件:/isU