基于python的反爬机制研究(附件)【字数:9116】
目 录
一、 绪论 1
(一) 开发背景及意义 1
(二) 目前现状 1
(三) 一般爬虫解决思路 1
二、 相关技术介绍 3
(一) 爬虫基础 3
1. HTTP 基本原理 3
2. 会话和cookie 3
(二) 基本库介绍 3
1. Requests 3
(三) 解析库介绍 4
1. Xpath 4
2. Beautiful Soup 4
(四) 动态页面爬取 5
1. Selenium 5
2. Ajax 5
(五) Scrapy框架 7
1. Scrapy介绍 7
2. Scrapy基本操作 8
三、 爬虫程序设计以各网站为例 10
(一) 哔哩哔哩视频网站 10
1. 直播弹幕爬取 10
2. 视频弹幕爬取 12
3. 技术总结 14
(二) 购物网站 14
1. 模拟登录——以淘宝为例 14
2. IP池搭建 20
(三) 链家 22
1. 项目分析 22
2. 程序设计 22
四、 总结 24
致谢 25
参考文献 26
绪论
近年来,随着大数据不断发展,每年网络上的数据量增长迅速,各行各业都深受大数据影响。“十四五规划”中明确提出了建设大数据中心与5G、工业互联网一同成为未来国家战略中的一个重要衡量指标。
开发背景及意义
随着政策的改革,互联网上的数据价值正在被不断发掘。从传统搜索引擎查找数据仍然困难且效率低下,并且搜索准确性较低。因特网爬虫技术手段应是充分利用程序获得汇总主页内数据的手段,能够依照需求为消费者获取信息数据。
互联网数据多种多样,涉及行业颇多,可以说各行各业都存在有价值的数据。针对用户需求常定制特定的爬取策略。 互联网上存在的数据,需要经过挖掘、清洗和分析才有可能变成值得研究的信息,其中的价 *好棒文|www.hbsrm.com +Q: ¥351916072¥
值才能展现出来。
简而言之,在大数据信息时代,对数据的访问以及获取现已成为基石,如何高效、准确地访问所需数据已成为亟待解决的问题。
目前现状
互联网数据量大,种类多,更新速度快[6]。因此,设计一个满足日常需求的数据采集的程序会面临不小难度,需要不损害被爬网站的利益,且与反爬机制斗智斗勇。
爬虫软件负责从从网络平台上获取并留存数据,首先应当经由访问相关页面,接着依照所需要数据的意象分析页面,获得到相关数据后经由数据清洗等等操作将数据保存下来。
互联网上的数据量巨大,内容复杂,爬虫获取信息的时间也会随之延长。因此高效精确地获得所需的数据成为了一个热点的钻研范畴。爬虫主要被使用于计算机网络通信模型中的传输层与应用层。传输层使用TCP/IP协议与目标Web服务器进行数据传输,网络层使用HTTP或是HTTPS协议与总体目标Web应用程序通信[1]。
海内外已经有良多先辈做出了优异的程序。萧婧婕等设计出基于灰狼算法,试图解决爬虫在全局爬取中的优先级问题,以来提高爬取的查全率和查准率,希望能爬取更多网页[2];陈黎、李志蜀等设计了基于SVM得金融主题爬虫,使用SVM分类器对标注得URL及上下文和锚文本训练,利用DF和信息增益两种特征选择方式对比发现,他们得方法在实际预测中效率很高[3]。
一般爬虫解决思路
因特网爬虫一般分为深度优先和广度优先两种[4]。前者时爬虫程序获取一个HTML文件,并发现一个链接,就获取该链接并重复执行,直至终点,在重返HTML文件寻找下一个。后者则一般用队列实现,即找齐所有链接并存入队列中,再依据队列继续爬行并重复执行[5]。
一般情况下,分析人员访问目标网站,查询出所需的信息数据的展示方式,并根据分析结果使用最高效、成本最低的的爬虫方式。流程图如图11。
图 11 一般爬虫解决思路流程图
相关技术介绍
利用python编写爬虫需要用到多种技术和明白多种原理,包括HTTP原理、会话与cookies基础、requests、scrapy、selenium等第三方库。下面讲逐一介绍。
爬虫基础
HTTP 基本原理
HTTP 是分布式、协作性、超媒体信息系统的应用层协议,HTTP是一种鉴于"requests & responses"模式的、无状态的应用层协议,url被HTTP协议采用作为定位网络资源的标识[16]。
一般形式:http://host[:post][path]其中包括合法的Internet主机域名、端口号以及请求资源的路径。
HTTP是一种基于请求/响应范式的协议。处理过程如下:
客户与服务器建立链接;
客户向服务器提出请求;
服务器接受请求,并且依照亲求返回相应的文件作为回答;
客户和服务器连接关闭。
会话和cookie
会话,指有始终的一套动作或消息。在Web中会话对象用来存储特定的能在用户会话中一直存在下去事物会话所需属性以及程序信息配置[17]。若是用户要求来时利用的Web页时,没有会话,服务器将主动建立一个新会话工具。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/512.html