完成了大约10分钟的采集后,出现fwrite(......)请求,出现警告,随后出现丢包,有些网页就出现抓取失败的问题。。

前面10分钟都没问题,10分钟之后,fwrite(....)发送请求出现警告的频率慢慢变大

难道是被服务器拒绝了请求?

错误提示信息:

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200

对链接http://www.mmkao.com/Beautyleg/201410/6565_6.html发起请求

即将采集下一组

对链接http://www.mmkao.com/Beautyleg/201410/6559.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_2.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_3.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_4.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_5.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_6.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_7.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_8.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_9.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6559_10.html发起请求

即将采集下一组

对链接http://www.mmkao.com/Beautyleg/201410/6549.html发起请求

对链接http://www.mmkao.com/Beautyleg/201410/6549_2.html发起请求

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200

对链接http://www.mmkao.com/Beautyleg/201410/6549_3.html发起请求

即将采集下一组

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200

对链接http://www.mmkao.com/Beautyleg/201410/6537.html发起请求

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 200

有点疑惑,代码的实现原理还是很简单的,只是网络请求调试想对困难一些,有这方面经验的,可以分享一下

代码有点多?居然提示不能超过10000个字符。

代码链接在这里: http://blog.csdn.net/free_program_1314/article/details/41798199

回复讨论(解决方案)

你在 100 行处 $this->conn = fsockopen($this->ip,$this->port,$errno,$errstr,$this->timeout);

后只在 101 行判断了是否连接成功,虽然不成功时会返回 false

但在 62 行调用时 $this->connect(); 并没有检查是否返回了 false

即无论连接是否成功,程序都会继续执行。于是很自然的把隐患扩散了出去

你至少得在 200 行的 fwrite($this->conn,.... 前,判断一下 $this->conn 是否是资源

而若 $this->connect() 失败,就该转到策略处理程序,还按正常流程进行是没有意义的

你在 100 行处 $this->conn = fsockopen($this->ip,$this->port,$errno,$errstr,$this->timeout);

后只在 101 行判断了是否连接成功,虽然不成功时会返回 false

但在 62 行调用时 $this->connect(); 并没有检查是否返回了 false

即无论连接是否成功,程序都会继续执行。于是很自然的把隐患扩散了出去

你至少得在 200 行的 fwrite($this->conn,.... 前,判断一下 $this->conn 是否是资源

而若 $this->connect() 失败,就该转到策略处理程序,还按正常流程进行是没有意义的

if($this->conn) { if($len != fwrite($this->conn, $this->cmd_line.$this->header.$this->post_content,$len)) { $this->status = "发送请求failed"; die($this->status); } } else { die($this->status); }

//问题出在fwrite(....)发送请求失败这里。。。

Notice: fwrite(): in E:\CodeEdit\php\http\001.php on line 213

发送请求failed

你没有判断那个 $this->conn 是否有效

你没有判断那个 $this->conn 是否有效

稍加改进了一些,链接这些都没问题,现在的错误提示是:

对链接http://www.mmkao.com/Beautyleg/201412/7066_9.html发起请求

没有下一页,原因是:匹配image分页组失败

但是getRollLink这个匹配下一页的函数并没有什么问题,我反复测试过,即便从本地保存的网页里读取也没问题,而且在出现这个问题之前,也采集了很多网页,也没出现问题。

对链接http://www.mmkao.com/Beautyleg/201412/7066_5.html发起请求

对链接http://www.mmkao.com/Beautyleg/201412/7066_6.html发起请求

对链接http://www.mmkao.com/Beautyleg/201412/7066_7.html发起请求

对链接http://www.mmkao.com/Beautyleg/201412/7066_8.html发起请求

对链接http://www.mmkao.com/Beautyleg/201412/7066_9.html发起请求

没有下一页,原因是:匹配image分页组失败

改进后的发在这里了: http://blog.csdn.net/free_program_1314/article/details/41805697

举例说明这个存在的问题,比如采集完第九个网页之后,采集第十页的时候出现匹配失败,而这个采集第十页的链接是第九页的网页信息提供的。 打开采集到的第九个文件,读取并匹配下一页的链接是没有问题的。出现这样的情况多次,每次我都尝试从文件读取并匹配下一页的链接都是没问题的。

也就是说匹配下一页的链接,如果有问题,刚开始采集就应该出现这个提示。。。现在的问题是,这个问题不定期出现

不定期出现是正常的,就算是用浏览器访问,偶尔出现页面打不开(刷新一下就好了)不也是正常的吗?

你只要随时检查连接的有效性,并在失效时做出处理就可以了。比如等几秒再次连接

不定期出现是正常的,就算是用浏览器访问,偶尔出现页面打不开(刷新一下就好了)不也是正常的吗?

你只要随时检查连接的有效性,并在失效时做出处理就可以了。比如等几秒再次连接

偶明白了

不定期出现是正常的,就算是用浏览器访问,偶尔出现页面打不开(刷新一下就好了)不也是正常的吗?

你只要随时检查连接的有效性,并在失效时做出处理就可以了。比如等几秒再次连接

这个问题通过检测到匹配失败时,从保存的上一页网页中,提取下一页链接,暂时解决了:

对链接http://www.mmkao.com/Beautyleg/201411/6906_13.html发起请求

没有下一页,原因是:匹配image分页组失败,尝试从文件中读取匹配模式

对链接http://www.mmkao.com/Beautyleg/201411/6906_14.html发起请求

即将采集下一组

对链接http://www.mmkao.com/Beautyleg/201411/6892.html发起请求

对链接http://www.mmkao.com/Beautyleg/201411/6892_2.html发起请求

对链接http://www.mmkao.com/Beautyleg/201411/6892_3.html发起请求

采集了10分钟之后,还是出现请求失败的问题,,,fwrite(),又是这个老问题,应该可以通过重置连接解决

看起来很NB的样子

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php程序端的采集,php采集程序相关推荐

  1. 啦啦外卖公众号+小程序 V43.0开源至尊独立版+独家用户授权升级+小程序端+APP源码+小程序端VUE源码安装教程

    啦啦外卖跑腿平台开源至尊独立稳定版公众号+小程序 V43.0版系统为独立开源版,最大优势全开源,使用的都知道该系统功能非常强大,是目前外卖平台功能最全的一套系统.拿来即用,也非常合适做二开的朋友,包括 ...

  2. 12.通过微信小程序端访问企查查(采集工商信息)

    12.通过微信小程序端访问企查查(采集工商信息) 需要注意的问题: 一.1.微信端访问企查查小程序需要登录.2.访问抓包获取的url是有时效性的过一段时间就不能用了. http://xcx.qicha ...

  3. AD转换实验 编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值。(如:AD转换后的数字量为128,则

    编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值.(如:AD转换后的数字量为128,则数码管应该显示2 ...

  4. 基于PHP采集数据入库程序(二)

    在上篇 基于PHP采集数据入库程序(一) 中提到采集新闻信息页的列表数据,接下来讲讲关于采集新闻具体内容 这是上篇博客的最终数据表截图: 接下来要做的操作就是从数据库中读取所需要采集的URL,进行页面 ...

  5. 微信小程序:开心锤锤超火动态表情包微信小程序源码下载自动采集

    这是一款表情包小程序源码 大家刷抖音的时候应该都刷过开心锤锤这个网红卡通短视频吧 现在这一款小程序就是和它有关的 里面的表情包呢大部分都是动态表情包(斗图的时候是不是更炫) 至于里面的表情包人物的就都 ...

  6. 火车头采集器 采集https网站 以及网站cookie 避免 蜘蛛 爬虫 程序等

    火车头采集器 采集https网站 并不是想象中的困难,有时https网站只是用了这个加密协议,但是事实上的数据并没有加密,所以仍然可以采集. 如果确实有困难的可以通过,http分析软件来确认地址,如H ...

  7. 小程序源码:宅男必备福利壁纸大全自动采集微信小程序

    这是一款可以说是宅男的最爱 也可以说是专门给宅男准备的一款小程序吧 里面支持动态视频,静态壁纸,情侣头像等多种分类 保存内容支持每天激励视频解锁保存 全内容自动采集,内附含了数不清的小姐姐,二次元,各 ...

  8. 小程序源码:自动采集头像大全微信小程序

    这是一款以头像为主的一款微信小程序源码 该小程序内包含了各种分类,各种样式都有 可以说是目前最全的一款头像小程序源码 五大分类情侣,女生,男生,卡通,风景 每大分类下面都有N个小分类,每个小分类下面有 ...

  9. 【小程序源码】自动采集头像大全微信小程序源码支持多分类

    这是一款以头像为主的一款微信小程序源码 该小程序内包含了各种分类,各种样式都有 可以说是目前最全的一款头像小程序源码 五大分类情侣,女生,男生,卡通,风景 每大分类下面都有N个小分类,每个小分类下面有 ...

  10. 小程序源码:自动采集头像大全微信小程序源码支持多分类-多玩法安装简单

    这是一款以头像为主的一款微信小程序源码 该小程序内包含了各种分类,各种样式都有 可以说是目前最全的一款头像小程序源码 五大分类情侣,女生,男生,卡通,风景 每大分类下面都有N个小分类,每个小分类下面有 ...

最新文章

  1. Understand Execution Context
  2. ESP8266中char数据类型注意事项
  3. 理性预期学派(Rational Expectation School)
  4. 使用atp-get安装Python-pip时遇到如下问题,附解决方案
  5. C 语言异常处理(五十二)
  6. 利用python语言实现帧差法,python+opencv实现帧差法
  7. 关于直播,所有的技术细节都在这里了(3)《转载》
  8. 每日一句20191019
  9. (转)百度金融联合多方发布国内首单区块链证券化项目 发行规模超4亿
  10. Java常见加密方式
  11. 如何设计一款IRR计算器
  12. python压缩HTML文件,python压缩javascript文件代码
  13. sentaurus TCAD的安装与使用
  14. 归并算法(Java实现)
  15. Effective C++ 学习笔记 第二章:构造、析构、赋值运算
  16. Layer 1: Single Objects
  17. 网络电台管理套件AzuraCast
  18. 深圳市智汇机器人科技有限公司环宇智行
  19. SecureCRT SSH远程登入connection was reset
  20. SSM框架实现OA系统

热门文章

  1. AI通过了艺术创作图灵测试,你根本分不出来作者是不是人
  2. SDNU 1040.导弹拦截
  3. [小说]魔王冢(5)格物
  4. 怎样度过自己的一生?
  5. 这些java基础编程练习题你都会了吗?
  6. 线性代数 矩阵及其运算
  7. Vivado HLS 中DATAFLOW优化Bypass的一些问题
  8. 在Windows系统下安装VirtualBox6.1.1并且安装linux虚拟机
  9. Linux第二周学习笔记(13)
  10. 区块链投资分歧:蔡文胜麦刚入局 朱啸虎张颖看衰