随笔分类 -  爬虫

摘要:1 什么是Fiddler? Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大, 阅读全文
posted @ 2019-06-10 17:07 small_caier 阅读(122) 评论(0) 推荐(0) 编辑
摘要:当我们在浏览相关网页的时候会发现,某些网站定时会在原有网页数据的基础上更新一批数据,例如某电影网站会实时更新一批最近热门的电影。小说网站会根据作者创作的进度实时更新最新的章节数据等等。那么,类似的情景,当我们在爬虫的过程中遇到时,我们是不是需要定时更新程序以便能爬取到网站中最近更新的数据呢? 一.增 阅读全文
posted @ 2019-06-10 16:55 small_caier 阅读(172) 评论(0) 推荐(0) 编辑
摘要:redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以。原因有二。 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url。(多台机器无法共享同一个调度器) 其二:多台机器爬取到的数据无法通过同一个管道对数据 阅读全文
posted @ 2019-06-10 16:52 small_caier 阅读(119) 评论(0) 推荐(0) 编辑
摘要:一.简介 CrawlSpider其实是Spider的一个子类,除了继承到Spider的特性和功能外,还派生除了其自己独有的更加强大的特性和功能。其中最显著的功能就是”LinkExtractors链接提取器“。Spider是所有爬虫的基类,其设计原则只是为了爬取start_url列表中网页,而从爬取到 阅读全文
posted @ 2019-06-10 16:48 small_caier 阅读(148) 评论(0) 推荐(0) 编辑
摘要:在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取不到那部分动态加载出来的数据值。但是通过观察我们会发现,通过浏览器进行url请求发送则会加载出对应的动态加载出的数据。那么如果我们想要在scrapy也获取动态加 阅读全文
posted @ 2019-06-10 16:41 small_caier 阅读(189) 评论(0) 推荐(0) 编辑
摘要:一. 下载中间件 框架图 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件。 - 作用: (1)引擎将请求传递给下载器过程中, 下载中间件可以对请求进行一系列处理。比如设置请求的 User-Agent,设置代理等 (2)在下载器完成将Respon 阅读全文
posted @ 2019-06-10 16:38 small_caier 阅读(177) 评论(0) 推荐(0) 编辑
摘要:一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息。 - 日志信息的种类: ERROR : 一般错误 WARNING : 警告 INFO : 一般的信息 DEBUG : 调试信息 - 设置日志信息指定输 阅读全文
posted @ 2019-06-10 16:33 small_caier 阅读(98) 评论(0) 推荐(0) 编辑
摘要:一.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久化存储 - 需求分析:每一个页面对应一个url,则scrapy工程需要对每一个页码对应的url依次发起请求,然后通过对应的解析方法进行作者和段子内容的解析。 实现方案: 1.将每一个页码对应的url存放到爬虫 阅读全文
posted @ 2019-06-10 16:21 small_caier 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一.基于终端指令的持久化存储 保证parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作. 二.基于管道的持久化存储 scrapy框架中已经为我们专门集成好了高效,便捷的持久化操作功能,我们直接使用就可以.要使用scrapy的持 阅读全文
posted @ 2019-06-05 20:00 small_caier 阅读(118) 评论(0) 推荐(0) 编辑
摘要:一.什么是scrapy? 是为了爬取网站数据,提取结构性数据而编写的应用框架。之所以叫做框架是因为集成了各种实用功能(高性能异步下载,队列,分布式,解析,持久化等等)的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法。 二.安装方法 Linux: pip3 install scra 阅读全文
posted @ 2019-06-03 21:34 small_caier 阅读(114) 评论(0) 推荐(0) 编辑
摘要:恢复内容开始 一. 先介绍图片懒加载技术 当获取一个网站的图片数据时,只能爬取到图片的名称,并不能获得链接,而且也不能获得xpath表达式。这是应用了图片懒加载技术。 - 图片懒加载技术的概念: -- 图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源 阅读全文
posted @ 2019-06-03 20:27 small_caier 阅读(278) 评论(0) 推荐(0) 编辑
摘要:大部分门户网站在进行登录的时候,如果用户连续登录的次数超过3次或者5次的时候,就会在登录页中动态生成验证码。通过验证码达到分流和反爬的效果。 一. 云打码平台处理验证码的流程: 代码: 阅读全文
posted @ 2019-05-29 20:56 small_caier 阅读(442) 评论(0) 推荐(0) 编辑
摘要:一. 基于requests模块的cookie操作 - cookie概念: 当用户通过浏览器访问一个域名的时候,访问的web服务器会给客户端发送数据,以保持web服务器与客户端之间的状态保持,这些数据就是cookie。 - cookie作用:我们在浏览器中,经常涉及到数据交换。Cookie是由HTTP 阅读全文
posted @ 2019-05-29 20:49 small_caier 阅读(588) 评论(0) 推荐(0) 编辑
摘要:一.爬虫数据解析的流程 1.指定url 2.基于requests模块发起请求 3.获取响应中的数据 4.数据解析 5.进行持久化存储 二.解析方法 (1)正则解析 (2)bs4解析 (3)xpath解析 1. 正则解析 常用正则表达式 正则使用练习: 应用: 爬取糗事百科指定页面的糗图,并将其保存到 阅读全文
posted @ 2019-05-29 17:32 small_caier 阅读(543) 评论(0) 推荐(0) 编辑
摘要:一. urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求。其常被用到的子模块在Python3中的为urllib.request和urllib.parse,在Python2中就是urllib和urllib2。 二.requests库 - 安装 阅读全文
posted @ 2019-05-29 16:47 small_caier 阅读(1443) 评论(0) 推荐(0) 编辑
摘要:爬虫的分类 1.通用爬虫:通用爬虫是搜索引擎(Baidu、Google、Yahoo等)“抓取系统”的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 简单来讲就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备分,在对这些网页做相关处理(提取关键字、 阅读全文
posted @ 2019-05-27 21:33 small_caier 阅读(147) 评论(0) 推荐(0) 编辑
摘要:一、什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍 简而言之,Jupyter Notebook是以网页的形式打开,可以在 阅读全文
posted @ 2019-05-27 21:31 small_caier 阅读(121) 评论(0) 推荐(0) 编辑
摘要:一.HTTP协议 1.概念: Http协议就是服务器(Server)和客户端(Client)之间进行数据交互(相互传输数据)的一种形式。 之间形成的特殊行话(黑话:(土匪)天王盖地虎,(我)宝塔镇河妖)称为协议。 2.Http工作原理: Http协议工作于客户端-服务端架构上。浏览器作为Http客户 阅读全文
posted @ 2019-05-27 21:26 small_caier 阅读(251) 评论(0) 推荐(0) 编辑