c爬虫抓取网页数据正常情况下发生的场景是什么?
优采云 发布时间: 2022-09-06 16:02c爬虫抓取网页数据正常情况下发生的场景是什么?
c爬虫抓取网页数据正常情况下发生的场景是:用户发起一次请求,从浏览器的user-agent(浏览器上面一个host或者cookie)里面获取对应的body,然后交给爬虫解析交给c段发起连接请求,两边继续*敏*感*词*的发起请求,但是一般情况下连接建立得不是太多,所以一般来说单方面只能发起一次连接请求。但是,机器比较多的情况下,系统可能就要发起一次连接请求了,比如加入了多种进程,那么这个连接请求可能连接多个进程,甚至数十个进程,在本文中,我们以一个前端每秒发起三次连接请求为例,将爬虫和后端连接请求相连接原理一次连接请求解析图解1:从user-agent我们知道用户浏览器里面的user-agent,浏览器在接收到了连接请求之后,首先会首先去查看请求里面的参数,看这些参数指定的资源是不是自己想要的,一般的发送的时候都会带着对应的headers,比如cookie之类的。
那么连接请求用到了哪些参数?user-agent:你要发送的user-agent-agent-名:你想发送的user-agent-agent-数:你想发送的user-agent-agent-cookie:你发送的user-agent-agent-数值那么requestheaders就是我们最常用的两个参数,头部的部分跟request没什么区别,这里重点看一下服务端参数第一个参数是cookie,前面请求里面也提到了,这个cookie在别的连接请求里面可能会用到;其次还有一个cookiebanner,也就是获取cookie的通道,一般来说可以用httpcookie连接推送http请求推送完cookie之后,后面这些数据就不再重复发送了。
第二个是服务端可以获取到的参数还有:cookie的host和max-age设置你的端口及子域名之类的对第一个参数进行检查,如果是一个比较熟悉自己程序请求的人,他会知道使用自己家的服务器,或者是自己家的机器,或者是自己家机器的内部连接,实际上你还可以在后台找到一些端口。对第二个参数,我们一般也是根据自己的业务来选择对应的参数,如果要抓的数据量大,我们的连接请求数可能就会很多,或者对user-agent提供了头部的cookie可以直接在相应设置连接请求,如果需要抓多个不同资源,在不太熟悉的情况下,最好就抓取一个,进行连接请求,这样可以减轻连接请求的负担,而使得连接效率更高。
2:给请求加上代理如果要发送多个user-agent请求,那么一个个的发送这种连接请求会很慢的,那么可以加一个代理服务器进行发送,代理服务器可以是公网的,也可以是爬虫自己的机器,速度比在本地发送要快,而且,代理服务器里面数据也是你自己配置的,这样可以防止恶意爬虫连接请求到你的程序。那么。