Data Base Technique • 数据库技术 Electronic Technology & Software Engineering 电子技术与软件工程 • 187 【关键词】Scrapy 爬虫 微博 微博自诞生之日起就获得迅猛发展。截至2017年9月,新浪微博的活跃用户高达3.76亿,较之去年同期增长 27%。微博作为网民交流互动的平台,时刻产生着大量的数据,对于研究具有重要意义。当前通过微博开放接口(API)获取数据存在诸多的限制,而且流程复杂、速 度较慢。 Scrapy 是为爬取网络结构性数据而编写 基于 Scrapy 的微博爬虫设计文/张安启 罗批 新浪微博是数据的重要发源地。为实现数据快速抓取,本文在研究反爬机制的基础上,设计了基于 Scrapy 的微博爬虫,并对各模块进行了详细阐述。实验表明,该爬虫具有支持关键字匹配、速度快、简单的特点。为研究者提供了快速、准确、方便地获取微博数据的途径。 摘 要 的应用框架,具有简单、模块清晰的特点。Scrapy 框架对于设计爬取新浪微博数据的爬虫具有十分重要的意义。本文研究了当前微博的反爬机制,并对该机制制定了相应的策略。并依此设计了基于 Scrapy 的微博爬虫。并通过实验验证了设计的爬虫的有效性。 1 当前的反爬虫机制 当前的反爬机制主要有以下四种: (1)IP 地址的限制。微博服务器对登录网站的 IP 地址进行监测,如果某一个 IP 地址访问频率过高或者持续时间过久,就会判定使用该 IP 的用户为爬虫并对该 IP 进行封锁。令其无法访问微博或者通过验证后方可进行访问。 (2)浏览器的限制。浏览器的标识存在于 headers 属性当中。如果检测到某一个浏览器频繁地访问,便会封杀该浏览器。 (3)对账号的限制。因为一个人不可能频繁大量长时间地访问微博,因此如果某一账号频繁不间断的访问微博,该账号就需要重新 验证方可继续访问。 (4)对访问频率的限制。由于爬虫浏览速率非常快,高于普通人浏览网页的几十倍甚至上百倍。因此,如果访问频率过高,也会将其判定为爬虫,对其要求进行验证。 由此可见,当前的反爬机制主要是通过对正常网民行为进行识别。当某个网民的行为与正常网民的行为不一致的时候,就会判定该网民为爬虫。因此,为了应对反爬虫机制,就应该让爬虫行为与正常用户行为更为相似。 2 应对反爬虫的策略 针对微博的反爬虫策略,在此制定防止 反爬虫的设计。 (1)建立由多个 IP 地址组成的 IP 池。每进行一次新的页面访问,从 IP 池中随机抽取一个 IP 地址。这样可以避免某个 IP 地址被封杀。 (2)建立多个移动浏览器标识的客户端类型池。由于当前人们习惯于使用手机等移动设备上网,因而使用移动设备浏览器登录网站 四种模式的项目数量占比分别为46.86%、39.97%、2.78% 和 10.37%。而且每种模式存在一个最大比例标段(反映了项目的主要类型)。由表 3 易知,配变新增类型的项目主要有以10kV 非晶合金变压器、10kV 油浸式变 压器为主,数量占比高达 87%。 在对预测计划中配变新增类型的项目进行审核时,可先计算出各标段比例,进而匹配到最类似的模式,最后计算该比例与匹配模式聚类中心的距离,若超过阈值,则审核不通过。 3.5 协议库存物资预测 在对物资计划审核时,除审核物资比例外,还需对各标段金额总量进行审核,这就需要对协议库存的物资需求进行预测。当前应用较多的是时间序列预测模型,首先对历史数据进行统计,如图 2 所示为 10kV 架空绝缘导线标段的时间序列数据,然后针对物资领料数据特性改

scrapy微博反爬虫_基于Scrapy的微博爬虫设计相关推荐

  1. java微博源码_基于jsp的微博-JavaEE实现微博 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的微博, 该项目可用各类java课程设计大作业中, 微博的系统架构分为前后台两部分, 最终实现在线上进行微博各项功能 ...

  2. python微博文本分析_基于Python的微博情感分析系统设计

    基于 Python 的微博情感分析系统设计 王欣 ; 周文龙 [期刊名称] < <信息与电脑> > [年 ( 卷 ), 期] 2019(000)006 [摘要] 微博是当今公众 ...

  3. 基于java的网络爬虫_基于java实现网络爬虫

    [实例简介] 基于java实现的java爬虫,是我学习java来练练手的,java基础入门的学生可以考虑参考一下 [实例截图] [核心代码] 爬虫 ├── 暑假任务-爬虫系统 │   ├── bin ...

  4. java实现微博网站设计_基于jsp的微博网站-JavaEE实现微博网站 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的微博网站, 该项目可用各类java课程设计大作业中, 微博网站的系统架构分为前后台两部分, 最终实现在线上进行微博 ...

  5. python新闻爬虫系统的功能_基于Scrapy框架的Python新闻爬虫

    一.开发背景 Python作为数据处理方面的一把好手,近年来的热度不断增长.网络爬虫可以说是Python最具代表性的应用之一,那么通过网络爬虫来学习Python以及网络和数据处理的相关内容可以说是再合 ...

  6. pythonscrapy爬虫_零基础写python爬虫之使用Scrapy框架编写爬虫

    网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间.Scrapy是一个使用Python编写的,轻 ...

  7. python爬虫现状_基于Python的微博爬虫系统研究

    基于 Python 的微博爬虫系统研究 陈政伊 袁云静 贺月锦 武瑞轩 [摘 要] [摘 要]随着大数据时代到来,爬虫的需求呈爆炸式增长,以新浪微 博为代表的一系列社交应用蕴含着巨大的数据资源.以新浪 ...

  8. python微博爬虫分析_基于Python的新浪微博爬虫研究

    基于 Python 的新浪微博爬虫研究 吴剑兰 (江苏警官学院,江苏 南京 210031 ) [摘 要] 摘 要:对比新浪提供的 API 及传统的爬虫方式获取微博的优缺点, 采用模拟登陆和网页解析技术 ...

  9. Python爬虫:基于Scrapy的爬取失踪人口数据小爬虫

    Scrapy简介: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 ...

最新文章

  1. 主流NoSQL及应用场景详解
  2. 计算机硬件系统的ppt,计算机硬件系统.ppt
  3. 【CentOS Linux 7】【gcc编译器】
  4. 大数据应用项目创新大赛_温州首届大数据应用创新大赛决赛名单公布!有你的单位吗?...
  5. 利用matlab实现SAR 图像线性拉伸显示
  6. Numpy根据某一列进行排序
  7. 快速实现一个简单的canvas迷宫游戏
  8. CMD/Dos下远程开启3389与远程改3389端口
  9. 计算机下桌面图标点不开怎么办,我的电脑桌面图标程序都打不开怎么办?
  10. 集成阿里云视频播放器
  11. mugen linux主程序,Mugen主程序报错汇总
  12. 迪普融合之路 构建价值网络
  13. 利用FFmpeg合并音频和视频
  14. 微信小程序关于页面不跳转的问题
  15. 嘉曼服饰上市破发,大跌16%:公司市值37亿 刘溦家族色彩浓厚
  16. Red Team之Empire渗透macOS(OSX) PowerShell
  17. Bilibili综合分析
  18. 大笨钟 (10 分)
  19. sqoop迁移oracle数据到TDH
  20. 基于NOVATEK NT98332 的AI智能监控录影DVR方案

热门文章

  1. html5画板的使用方法,使用canvas实现画板
  2. 802.1d,802.1w,802.1s与802.1q
  3. 计算机设备使用步骤,“班班通”设备使用步骤
  4. SEO优化工具-免费SEO优化工具下载-SEO优化工具大全中心
  5. 麒麟970让华为Mate10慧眼识物运动抓拍 人人秒变专业摄影大师
  6. FPGA入门板子的选购
  7. leetcode 675. 为高尔夫比赛砍树——(每日一难day29)
  8. CentOS开发环境搭建
  9. 如何优雅的将 Docker 镜像从 1.43G 瘦身到 22.4MB
  10. ** (java:10104): WARNING **: Could not open X display (MobaXterm无法打开smartgit)