Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[采集] SS7.0采集优化成功率99%,经常失败的请看

[复制链接]
oyoy8629 发表于 2009-10-13 13:54:42 | 显示全部楼层 |阅读模式
本帖最后由 oyoy8629 于 2009-10-13 14:34 编辑

本人刚刚开始学习SS.
在采集时候遇到很多问题非常烦躁,特别是采集的时候总是失败.
后来无意中发现了boss发的帖子关于supesite7采集器的刚采集就结束的修改方案

.发现.SS的采集是使用函数file_get_contents,这个东东,在采集读取内容时候.必须网速要非常好才可以

所以,我就换成了curl的方式采集



在/admin/admin_robots.php中  1957行增加
  1. function fileget($url){
  2.      $curl = curl_init();
  3.      curl_setopt($curl, CURLOPT_URL, $url);
  4.      curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; )');
  5.      curl_setopt($curl, CURLOPT_HEADER, 0);
  6.      curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  7.      curl_setopt($curl, CURLOPT_COOKIE, 'phphubei');
  8.      $tmpInfo = curl_exec($curl);
  9.      curl_close($curl);
  10.      return $tmpInfo;
  11.     }
复制代码
1962行
  1.         if(!empty($url)) {
  2.                 if(function_exists('file_get_contents')) {
  3.                         @$text = file_get_contents($url);
  4.                 } else {
  5.                         @$carr = file($url);
  6.                         if(!empty($carr) && is_array($carr)) {
  7.                                 $text = implode('',$carr);
  8.                         }
  9.                 }
  10.         }
复制代码
改成了.
  1.         if(!empty($url)) {
  2.                         @$text = fileget($url);
  3.         }
复制代码
保存即可.......

这里注意............
服务器默认是不支持curl的
需要php.ini开启扩展.
开启扩展方法是
//1.在php.ini中去掉extension=php_curl.dll前面的分号.
//若不成功复制        php_curl.dll
//                                libeay32.dll
//                                ssleay32.dll
//到          C:\WINDOWS\System32下

改完了主意重启apache.







请注意备份你的admin_robots.php以防不测.
下面是改好的文件

http://bbs.phphubei.com/thread-4600-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

2

查看全部评分

lidq.jingwu 发表于 2009-10-13 14:05:04 | 显示全部楼层
支持一个
回复

使用道具 举报

 楼主| oyoy8629 发表于 2009-10-13 14:32:25 | 显示全部楼层
米人支持
回复

使用道具 举报

白垩纪 发表于 2009-10-14 21:40:31 | 显示全部楼层
不会用啊。。。。。。。。。。。我是合租的。不是独立主机啊。
回复

使用道具 举报

littlehz 发表于 2009-10-15 09:22:37 | 显示全部楼层
嘿嘿,补充一下,如果是Linux下支持cURL,首先安装cURL的主程序。
命令行操作
  1. yum install -y curl curl-devel
复制代码
然后PHP编译安装的时候,加上参数 -with-curl 和 --with-curlwrappers,例如
  1. ./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear
复制代码
配置完然后 make ZEND_EXTRA_LIBS='-liconv'
make install
回复

使用道具 举报

 楼主| oyoy8629 发表于 2009-10-15 09:25:25 | 显示全部楼层
littlehz果然强大
回复

使用道具 举报

4667506 发表于 2009-10-15 09:49:27 | 显示全部楼层
我之前也遇到过采集不完整的情况,检查检查:"采集页面编码".
最好别使用这个功能.我之前使用了.采集失败太多了~
回复

使用道具 举报

 楼主| oyoy8629 发表于 2009-10-15 11:02:50 | 显示全部楼层
PHP蜘蛛都用curl.~~是专门用来采集的
默认的file_get_contents和file采集,本身就不是用来做采集的
肯定失败高啊....
回复

使用道具 举报

xukrl 发表于 2009-10-15 11:30:28 | 显示全部楼层
从来不用采集功能,不过还是支持一下
www.23xm.com
回复

使用道具 举报

calllilei 发表于 2010-3-9 12:23:33 | 显示全部楼层
支持一下,但不知道改完后那些机器人直接导入后能不能用?规则什么需要改吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 02:53 , Processed in 0.041881 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表