js 抓取网页内容(js抓取网页内容,使用的是websocket,这个东西一般人应该不清楚)
优采云 发布时间: 2022-03-24 16:05js 抓取网页内容(js抓取网页内容,使用的是websocket,这个东西一般人应该不清楚)
js抓取网页内容,使用的是websocket,这个东西一般人应该不清楚,这个只是一个基础,如果需要更深入的话你可以看看百度百科:websocket概述跟据楼主的要求,我认为最好的选择可能是tcphttp协议实现的服务器,这是因为tcp是面向连接的,可以应用多线程问题,而http协议在请求的时候是基于三次握手的,稳定性上肯定是tcp优于http协议,这样比较下来就只剩tcp了,不过如果你是为了提高性能,甚至更实在点,就需要一个高效的处理二次握手的协议,这个暂时只能用http协议。
websocket技术python是个好东西。楼主可以试试。技术选型、实现和市场可以考虑使用一些第三方工具来做。
首先这个是要考虑开发成本和性能的。如果只是做最基本的爬虫,可以考虑使用commonjs封装一个模块,后端用scrapy,使用xpath获取需要的内容到页面,这样即使是一个普通的ie浏览器,通过网址获取到,也可以获取相关的页面,速度是非常快的。但如果需要抓取抓取复杂的数据,这个时候就是需要考虑scrapy来实现的,毕竟如果再封装一个scrapy爬虫框架,不管是性能还是开发成本都是非常高的。
并且还是一个企业内部的爬虫网站和用户交互效率还是比较低的。如果对性能有需求的,或者自己想扩展抓取功能,则可以结合xpathextractor,xpathparser这些来采集数据。大致流程上来说,就是先封装一个scrapy爬虫框架,大概是这样的:--使用xpath语法获取内容--封装xpath的语法封装完scrapy-selector(selector是一个一个xpath下来抓取文档对应的xpath)--xpath中搜索相应的xpath到页面,并将相应的xpath下来的结果导出。
这里讲几个要点:1,xpathparser其实已经足够,只需要传输一个parser入参参数即可。但是加载xpath文档只是用一个parser的话,成本是太高的,同时parser没有什么优势。2,parser就是爬虫框架,一般使用venv来管理每个依赖parser或者依赖的js等文件。3,jquery这些是类库,也是不对外公开的,所以每次要下载相应的jquery是一个大开销,所以有的时候直接使用webpack去打包,不过每次要加载一堆pipe进来最后得到页面只能依赖pipe来下载一些数据。
4,scrapy则是通过javascript来调用xpath进行抓取内容,虽然有一些需要前端调用的api,但是基本上javascript还是不会被拦截的。5,对于jquery来说,还有一些可能的不能写成脚本代码的调用,比如要使用xpath来获取文档最后一行的内容等等。-。