scrapy怎么在服务器上跑起来

scrapy怎么在服务器上跑起来,第1张

scrapy在服务器上跑起来的方法如下:启动scrapyd;配置项目下的scrapy.cfg;deploy设置;就可以了。scrapyd 是由scrapy 官方提供的爬虫管理工具,它可以管理多个项目,每个项目可以上传多个版本,但默认使用最新版。

很多网络爬虫爬着爬着就爬不动了,换个方法继续爬一会又趴窝了,使出浑身解数大战三百回合,哪怕使用了代理IP,也依然败下阵来,那么问题到底出在哪呢?究根结底,是没有找出到底是谁泄了密,是谁告诉了目标网站自己是爬虫。

一般来说,网站会通过以下几个方面来识别对方是爬虫还是真实用户,让我们一起来看看吧。

一、单一IP非常规的访问频次

我们经常会遇到这样一种情况,当我们在某个网站上发帖时,会提示“发帖过快,请等待XX秒”,或者提示“刷新频率过快,请歇一会”,这都是网站为了缓解压力才对“用户”作出的限制。而爬虫相对于真实用户来说更疯狂,访问的频次更快,如果单一IP访问频次非常高,那么将会被判为“爬虫”,进而受到限制。

二、单一IP非常规的数据流量

当单一IP的数据流量非常大时,也会引起网站的注意。说到数据流量有些朋友就会有疑问了,下载站的数据流量大也是很正常的。这里说的数据流量不只是单一的下载数据流量,而是大量的并发请求。高并发请求很容易对服务器造成高负荷,所以受到限制也是很正常的。

三、大量重复简单的网站浏览行为

我们知道,不同的用户浏览速度、习惯等都不相同,有的人浏览一个页面需要五秒,有的需要思考一分钟等等,当存在大量的用户IP都是千篇一律的浏览速度,比如3秒访问一个页面,那么这就非常可疑了,受到封杀也是正常的,就算用了代理IP也避免不了。

四、headers头部校验

除了上面3个比较明显的爬虫行为,网站还会校验headers。headers头部的参数很多,其实也容易伪装,但有些初学者往往会忽略。比较常见的是User-Agent、Referer这两个参数,不同的浏览器有不同的User-Agent,访问来源也各不相同,如果不注意的话,很容易被识别。

五、链接陷阱

我们知道,爬虫爬取页面时,会识别页面中所有的URL地址去爬取,特别是一些没有明确目标的爬虫。有的网站会将一些链接放在CSS里或者JS里,这些链接正常用户是不会去访问的,它们就相当于陷进,作用是钓出爬虫,一不小心就容易中招。

以上五点是比较常见的识别爬虫的手段,要想不被目标网站这么快识别,就要有效的规避这五点,做好爬虫策略,当然反爬手段远远不止这些,这就需要好好研究了。

klein文档

klein是一个小型的web框架,在服务器运行爬虫脚本的时候,可能没办法监测爬虫状态,使用Klein可以使我们随时打开浏览器查看想要监控的东西。

pip install klein

它在端口8080上启动一个Twisted Web服务器,侦听回环地址。打开网页localhost:8080看看

通过创建Klein实例,然后调用run和route方法,就可以使路由变得不全局。

分别打开浏览器访问:localhost:8080和localhost:8080/about

这将为你的函数提供额外的参数,这些参数与你指定的路由的部分相匹配。通过使用它,可以实现依赖于此更改的页面,例如:通过在站点上显示用户或在存储库中显示文档。

访问 http://localhost:8080/user/bob ,你应该Hi bob!

还可以定义它应该匹配的类型。三种可用类型是string,int和float

访问 http://localhost:8080/somestring ,它将被路由到pg_string方法

http://localhost:8080/1.0 将被pg_float

http://localhost:8080/1 将被pg_int.

爬虫运行在服务器中,爬取的结果存在MongoDB中,MongoDB中的数据需要对传给客户并更改字段信息。刚存在MongoDB中的数据is_upload字段默认为false,对传成功后改为true。Klein可以返回给我们MongoDB中数据的统计信息


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/448872.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存