file_get_contents($url)超时无法抓取网页,应对反应慢的服务器无法抓取到数据

file_get_contents($url)超时无法抓取网页,应对反应慢的服务器无法抓取到数据,第1张

是的,file_get_contents($url)是速度比较低的,很容易抓取失败。
应该用socket或curl来抓取。其中curl性能也比较低。最好用socket,不过前提是要抓取的页面所在服务器要支持socket,大多数是支持的。file_get_contents速度慢同时又不支持socket的服务器是极少见的。我可以写一个通用的socket抓取函数给你,代码比较长,你留下个email。

php接口无法调用远程数据,能抓取外网(如果内网外服务器),网络应该没问题,看程序是否报错跟错误来解决,断点打印下去;fsockopen打开接口一般都比正常状况慢受keepalive 影响,查看下你的连接是否对,一般是只连接一次:先判断有没有连接,如果有,继续用,如果没有,建立pfsockopen连接。;

2看下你fsockopen打开延迟时间是否大于服务器响应延迟时间:这个default_socket_timeout,以及服务器的timeout时间对比下,修改下就可以;

一般来说抓包都是用软件,抓包软件是抓去进,出设备的数据包。所以如果数据没有流动那就抓不到。不知道你想要查看些什么内容,如果你想看数据服务器与其他设备都传递些什么数据包那就得把数据服务器和另一个设备连在一起,让他们处于信息交互的状态,这样才能抓包。
比较有名的抓包工具有sniffer,etherpeak,wireshake(可能拼写有误,百度会为你纠正^_^)
而个人pc抓包一般都是抓取网卡上的数据,一般抓包软件会让你选择抓哪个网卡的数据,那就选你连接服务器和另一设备的那张网卡就行了。
抓取的包是所有通过网卡的数据,所以准确的筛选就要看你自己的知识够不够了。

一、什么是网站日志

1网站日志是记录web服务器接收处理请求以及运行时错误等各种原始信息的以·log结尾的文件。

2通过网站日志可以清楚的得知用户在什么IP、什么时间、用什么 *** 作系统、什么浏览器、什么分辨率设备下访问了网站的哪个页面,是否访问成功。

3搜索引擎也属于网站中的一类用户,我们今天的分享课,主要是针对搜索引擎这种用户在服务器留下的记录展开分析。

为了方便读懂搜索引擎日志,我们需要了解不同搜索引擎蜘蛛的标识,以下为4种搜索引擎的标识——百度蜘蛛:Baispider搜狗:SogouNewsSpider360:360Spider谷歌:Googlebot

二、如何看懂网站日志

通常日志文件较大的情况下,需要借助shell与python结合起来,做数据提取与分析。所以读懂网站日志中的字段就有利于日常的分析。这个在此不赘述,有兴趣的童鞋可以继续深入了解。

大型网站通常可以用以上的方法来进行做日志分析。

普通的个人站点,或者企业网站,则可以通过光年日志分析工具结合百度站长平台一起使用。

三、为什么要做网站日志分析

先来了解SEO流量的获取流程:抓取-->索引--->排名--->点击--->流量

因此,要获得SEO流量的前提务必是,有价值的页面被搜索引擎抓取到。

四、怎么做网站日志分析

定期监控搜索引擎抓取量变化,历史数据的横向纵向对比才能发现异常情况。借助第三方站长平台,如百度站长平台,了解搜索引擎抓取频次变化。借助光年日志分析工具,定期做数据记录,了解重要栏目、重要页面的抓取量变化。

举个栗子:

老站点(建站1年且有人维护的网站):Seo流量出现异常波动。

分2种情况:

了解外界:了解外界的前提在于平时你得有一定的人脉基础,如果没有也没关系。泡2个地方——去搜索引擎站长平台或者加入搜索引擎站长群。比如,像百度搜索引擎,它拥有站长平台,也会相应建立站长QQ群。有人脉基础上,可以直接了解外界的情况——是否也出现类似幅度的波动?这个的前提要结合你短期做过的SEO *** 作一并考虑,避免误判。无人脉的情况,泡群、泡站长平台。通常如果是搜索引擎算法升级,会在群里或者站长平台有相关的小道信息出现。如果是搜索引擎自身算法升级导致的流量波动,那么就得根据新算法做相应的站内优化。比如,百度冰桶30版本提出:将严厉打击在百度移动搜索中,打断用户完整搜索路径的调起行为。如果站点有存在以上的情况就需要针对性的做优化:无论是通过对接的APPLINK调起,还是网页自主调起的应用,以及普通的网页,都应是可返回,可关闭的。用户校验搜索结果的准确性,不需要额外下载APP或者权限。

分析内在:

在分析内在之前,再次抛出这个公式:Seo流量=抓取量收录率(准确来说应该是索引率)首页率点击率

。当抓取频次出现异常必然引起抓取量的减少。因此,排除了外界的因素,就需要对网站的日志进行分析。如果你的站点是中文站点,且是百度站长平台的VIP用户。那么,你就可以先借助第三方站长平台的“抓取频次”工具(如,百度),先了解搜索引擎近期的抓取频次、抓取时间、异常页面。通常借助这个工具,我们可以对搜索引擎近期抓取情况有初步了解,并且可以借助这个工具,相应的找到一些解决办法。

在此先解释这个概念,方便理解:

1抓取频次:抓取频次是搜索引擎在单位时间内(天级)对网站服务器抓取的总次数,如果搜索引擎对站点的抓取频次过高,很有可能造成服务器不稳定,蜘蛛会根据网站内容更新频率和服务器压力等因素自动调整抓取频次。

2抓取时间:指的是搜索引擎每次抓取耗时。而影响抓取频次的可能原因有:

(1)抓取频次上限误调,调低了,则会直接影响到抓取量减少,抓取量减少则索引量少,流量相应减少。

小结一下:

老站如何做网站日志分析(针对中文站点):外界排除:

了解搜索引擎最新算法是否发生变动、同行是否也有类似变化。

内在分析:

(1)使用工具:百度站长平台(非VIP账户看后文介绍)

(2)分析方法:主要使用抓取频次分析工具进行分析,网站抓取频次、抓取时间、异常页面情况等数据变化。并与相关部门进行对接解决。

五、用光年日志分析工具

非百度VIP:

步骤:

1下载网站日志(如果是企业站点,可以直接让运维部门的童鞋帮忙下载,如果是个人站长,直接在你所购买的虚拟主机后台进行下载,文件以log为结尾的便是)

2打开光年日志分析工具,上传网站日志。

3查看分析结果。主要维度有这几个:

(1)概况分析:各种爬虫的总抓取量、总停留时间、总访问次数。

(2)目录分析:各种爬虫抓取各目录的情况分析。通过这个可以了解到搜索引擎对一些重要栏目的抓取情况,又抓取了哪些无效的页面。

(3)页面分析:通过页面分析可以了解到经常被重复抓取的页面有哪些,可以相应的做优化调整。比如,像网站的一些注册页面及登录页面,经常会发现多次被抓取,发现这种情况,我们通常会将登录/注册页面进行屏蔽处理。

(4)状态码分析主要分为2种,爬虫状态码以及用户状态码。主要反应用户/爬虫访问页面时的页面状态。通过页面状态码,我们可以了解到页面状态,做相应调整,如,当网站存在大量404页面。那就需要进一步排查,比如,有些团购页面,团购过期后,页面就直接变成404了,但并未向百度站长平台提交死链清单,则容易造成无效抓取。


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

原文地址: https://outofmemory.cn/zz/13456275.html

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

发表评论

登录后才能评论

评论列表(0条)

保存