php抓捕网页,程序运行一会儿就停止了。不是他应该一直抓取,等到程序运行完成才结束吗?

php抓捕网页,程序运行一会儿就停止了。不是他应该一直抓取,等到程序运行完成才结束吗?,第1张

1, 这种不停的抓别人数据的批处理情景, 中间应该时不时停下来休息一下, 比如:sleep usleep, 不然, 对方服务器可以认为是攻击, 就不正常响应给你.

2, 这种批处理, 应该写成可以随时停止而不用从头再开始, 设置一下当前处理到的位置, 然后, 下次再开始执行, 就从那个位置开始继续. 因为PHP进程也是会死掉的. 最好是用crontab定时杀掉前进程, 然后开新进程.

这个程序运行下来到你看到结果,涉及到的编码有:

"http://news.sohu.com/s2013/yingxiang/?390457742" 对应网页内容的编码,

你php脚本文件的编码,

你看到的输出的内容的编码,

如果是在浏览器中看的,还有浏览器解析输出内容的编码。

这一套流程走下来,如果中间有一步流程没有匹配上的话,就会出现乱码了。

不考虑4浏览器编码的话,首先我们可以通过浏览器查看编码的方法知道"http://news.sohu.com/s2013/yingxiang/?390457742"用的是gbk编码,然后你再看你输出的编码是否是gbk的,如果不是的话,就要用$con = mb_convert_encoding($con,'utf-8','gbk')的方法来处理一下,然后再输出,这样应该就能看到正常的内容了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7953313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存