采集器采集不到的原因及解决办法!(一)
优采云 发布时间: 2022-07-30 04:06采集器采集不到的原因及解决办法!(一)
采集器采集不到的原因:
1、硬件问题,例如码率不够,udp通道被占用,ip被人占用,
2、网络问题,3g网络,wifi网络,
3、进程本身问题,
4、进程占用的解析有问题。
所有的网络,必须使用当前通信协议中的数据包的方式数据包不是简单的一个字节数组的形式,就像解析一个字符串一样,要使用某种数据结构我建议你使用http协议,或https协议,或ftp,或其他,不一定按照json,还可以使用xml或python交互式shell脚本再或者使用ajax请求对应网站服务网站本身有验证,服务器端只是根据你对应的服务域名对应的ip访问,服务器端只收到了这个返回值,其他的就没有响应。
这个问题我可以做一个试着分析,给你一些提示。1.首先我们需要了解软件采集都是以c/s架构为主,单机至少需要5g网络支持,所以如果存在c/s机构,而没有保留统一的路由配置信息的话,这个采集需要购买协议支持点和服务器连接池才能实现,好在很多网络采集平台都能提供服务,可以解决你的这个问题。2.解决你的python采集问题,具体问题需要根据采集规则来解决,我这里先给你说说不同采集方式的配置。
1.get方式实现。就是你使用服务端返回html提取数据,然后到客户端的方式,基本上所有的采集都是这样做的,步骤简单,解决方式灵活,缺点是性能肯定下降(如果是链接多数据库一点压力也没有),但是如果有强大后端同时支持的情况下(例如百度云,腾讯云),采集完可以自己存到本地,然后下游业务可以通过后端api等调用。
2.http协议。目前在爬虫平台都有相应的服务支持,你需要了解的是怎么用http协议获取到采集过来的数据,例如怎么从github代码库的代码中提取python的模块名?一般采集代码是用get方式获取,如果觉得get太慢,可以关注我,用http请求来提取html代码,下一步需要搞清楚服务端获取的html格式,是xml还是json,如果是json的话,要把这些json格式的解析放到业务的数据库中,以此判断是否需要服务端来下载这些数据,或者直接就用客户端自己的后端服务接口直接去调用数据接口。
3.客户端类似post方式处理的问题。这里是最复杂的问题,处理同一个网站,可能会有不同的请求方式,有些服务支持post方式返回数据,而有些服务不支持。这些后端工程师是要对接口进行单独的定制的,这就需要成本了,你可以通过理解底层模块的层次结构,来了解这些要求,后端功能,这里就不展开了。