2018年2月赖敬之(东南大学信息科学与工程学院)

优采云 发布时间: 2021-06-03 06:37

  2018年2月赖敬之(东南大学信息科学与工程学院)

  2018年2月,建立基于网络爬虫的新浪微博数据分析网站赖景智(东南大学信息科学与工程学院,南京211189)[摘要]新浪微博作为中国最大的社交网络中国网站,内容丰富,本文实现了一个微博数据分析网站,网站后端使用爬虫实时抓取数据存入redis数据库,前端使用ajax轮询技术和数据可视化 该技术将统计分析后的数据展示在网页上,相比直接调用新浪微博的API,网络爬虫获取数据的方式具有更大的灵活性,能够获取的数据量也比较大,但也有一定的局限性,最大的障碍之一是新浪微博的反爬虫技术,本文也将讨论如何突破反爬虫的限制。[关键词]新浪;爬虫;数据分析[CL] C号] TP391.3 [文档识别码] A [文章号] 1006-4222 (2018)02-0073-02 1 简介 新浪微博是一种新兴的以关注和分享为一种模式,内容少,发布快,形式多样 正好迎合了人们对信息实时、准确、多样的分享和交流的需求,因此受到广大用户的欢迎和喜爱,而微博本身也有成为当代互联网领域的一颗冉冉升起的新星。人们热衷于在微博上获取信息 最新信息,发表您的观点,分享您喜欢的东西。因此,微博收录了丰富的数据,具有重要的数据挖掘意义。

  网络爬虫是按照一定的规则自动抓取万维网上信息的程序或脚本。使用爬虫,您可以轻松、自动、灵活地获取海量数据。本文首先介绍了新浪微博数据分析网站的整体思路,然后介绍了如何使用爬虫获取新浪微博上的数据。它还介绍了所使用的反爬虫技术。最后,本文讨论了如何实时显示数据。前端,并一一演示了可视化方法。 2 总体架构 整个网站分为三个部分:微博数据的抓取、微博数据的存储、微博数据的展示。用户首先在前端输入需要爬取的URL地址和cook-ie。点击开始爬取后,后端会向爬虫服务器发送爬虫请求,并将用户传入的cookie作为redis数据的key。将爬取到的数据存储在redis数据库中。这时候前端页面会向后端发起ajax轮询,希望能够获取到爬取到的数据,后端会从redis中取出数据封装成json发送给前端。这时候前端就可以使用数据进行可视化绘制了。 3 微博数据爬取方法3.1 通过自动化测试框架selenium抓取 由于电脑版微博是js动态生成的,无法通过简单的GET请求获取,需要js渲染引擎。

  所以我们使用selenium的phatomjs来驱动。在个人主页上,随着滑块向下滚动,微博数据会不断更新,所以我们可以使用phatomjs来模拟这个过程,就在scrapy爬虫框架的中间文件中配置代码。 3.2 通过对ajax接口微博评论数据和转发数据接口的分析,通过抓包获取。使用浏览器自带的调试工具可以捕获数据包。 URL接口可以看成: /v6/comment/big?ajwvr=6&id=42153647 85782495&root_comment_max_i =9221&root_com-ment_max_id_type=0&root_comment_ext_param=&page=2&fil-terbefore_filteri0=42153647 85782495&root_comment_max_i=9221&root_com-ment_max_id_type=0&root_comment_ext_param=&page=2&fil-terbefore_filteri0d=42153647经过观察分析,可以发现大部分参数核心url为:https://

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线