实时抓取网页数据(知乎ios端的效率可能更高的实时抓取网页数据)
优采云 发布时间: 2022-02-02 21:02实时抓取网页数据(知乎ios端的效率可能更高的实时抓取网页数据)
实时抓取网页数据无论是互联网、pc端网页数据,还是移动端网页数据,通过分析你的电脑、手机、ipad的cookie记录以及浏览器的hook。都可以获取目标地址对应的页面。然后爬虫将爬取过的页面按照cookie记录的返回,还原出刚才的场景和内容。然后进行定制的渲染即可。这样就可以大致解决当前互联网数据抓取方面的问题。
真正工程实现上,这个估计是有技术难度的,主要是在大量ip抓取以及cookie记录上。如果不对于页面进行优化,应该抓取效率是很低的。
首先,手机端上常见的是:抓包解包分析header请求发送包加载包抓取源url后ajax返回包结合ajax回调过后,用正则匹配正则字符串抓取session里的header等进行抓取,有些是不抓取,有些是抓取ajax请求包,再根据返回地址抓取。知乎ios端的效率可能更高,因为有点历史原因,如果抓取数据实时保存,大多需要写代码抓取。
抓包分析请求地址,返回信息,人肉构造请求,判断,分析,静态页是这么一套链路,具体规范自己细细体会吧。如果要达到微信那种动态场景,估计不大可能实现。
很高兴这么多人回答这个问题,今天对微信的消息抓取进行了实现。目前开发使用了chrome浏览器,浏览器的hook机制和safari有所不同,但依然要满足hook机制的条件。ps:小程序有seuthread.js,内置了一个基本ui,可以作为各种界面交互的hook,然后通过getdata传递给hook来获取图片等响应数据。
可以抓取历史数据,接口响应返回有些延迟,但不影响用户体验,hook响应响应慢的场景时间在控制在2分钟。时间不够的情况下,会采用短连接,交互响应用textfield而不是传递fetchfrom{},短连接解决通信麻烦和重定向,这是实现最快的方案。定时判断请求连接是否连接,如果没连接,使用自己写的一个websocket服务,每天或每周进行一次流量控制,限制每次请求的时间。
通过这种一站式的解决方案,目前有些成果了,但这是需要一些时间的,我觉得微信微博朋友圈的数据抓取不大可能,因为没有准确的机制和规范,想要实现这个也只能试试。