随笔分类 -  爬虫

1
摘要:增量式爬虫 - 概念:监测网站数据更新的情况,只会爬取网站最新更新出来的数据。 - 分析: - 指定一个起始url - 基于CrawlSpider获取其他页码链接 - 基于Rule将其他页码链接进行请求 - 从每一个页码对应的页面源码中解析出每一个电影详情页的URL - 核心:检测电影详情页的url 阅读全文
posted @ 2020-06-30 21:43 Mrterrific 阅读(278) 评论(0) 推荐(0) 编辑
摘要:分布式爬虫 - 概念:我们需要搭建一个分布式的机群,让其对一组资源进行分布联合爬取。 - 作用:提升爬取数据的效率 - 如何实现分布式? - 安装一个scrapy-redis的组件 爬取到的数据自动存放在redis中 - 原生的scarapy是不可以实现分布式爬虫,必须要让scrapy结合着scra 阅读全文
posted @ 2020-06-30 21:36 Mrterrific 阅读(160) 评论(0) 推荐(0) 编辑
摘要:CrawlSpider类,Spider的一个子类 - 全站数据爬取的方式 - 基于Spider:手动请求 - 基于CrawlSpider - CrawlSpider的使用: - 创建一个工程 - cd XXX - 创建爬虫文件(CrawlSpider): - scrapy genspider -t 阅读全文
posted @ 2020-06-30 21:27 Mrterrific 阅读(239) 评论(0) 推荐(0) 编辑
摘要:中间件 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件。 作用:批量拦截到整个工程中所有的请求和响应 - 拦截请求: - UA伪装:process_request - 代理IP:process_exception:return request 阅读全文
posted @ 2020-06-30 21:12 Mrterrific 阅读(671) 评论(0) 推荐(0) 编辑
摘要:图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间。 为了解决这种问题,通过前后端配合,使图片仅在浏览器当前视窗内出现时才加载该图片,达到减少首屏图片请求数的技术就被称为“图片懒加载”。 阅读全文
posted @ 2020-06-30 20:50 Mrterrific 阅读(235) 评论(0) 推荐(0) 编辑
摘要:基于文件下载的管道类 在scrapy中我们之前爬取的都是基于字符串类型的数据,那么要是基于图片数据的爬取,那又该如何呢? 其实在scrapy中已经为我们封装好了一个专门基于图片请求和持久化存储的管道类ImagesPipeline, 那也就是说如果想要基于scrapy实现图片数据的爬取,则可以直接使用 阅读全文
posted @ 2020-06-30 20:41 Mrterrific 阅读(198) 评论(0) 推荐(0) 编辑
摘要:增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加。在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100。 降低日志级别: 在运行scrapy时,会有大量日志信息的输出,为了减少CPU的使用率。可以设置log输出信息为I 阅读全文
posted @ 2020-06-30 20:35 Mrterrific 阅读(148) 评论(0) 推荐(0) 编辑
摘要:在某些情况下,我们爬取的数据不在同一个页面中,例如,我们爬取一个电影网站,电影的名称,评分在一级页面,而要爬取的其他电影详情在其二级子页面中。 这时我们就需要用到请求传参。 请求传参的使用场景 当我们使用爬虫爬取的数据没有存在于同一张页面的时候,则必须使用请求传参。(深度爬取) 示例:爬取boss的 阅读全文
posted @ 2020-06-30 20:34 Mrterrific 阅读(262) 评论(0) 推荐(0) 编辑
摘要:scrapy的基本使用我们已经掌握,但是各位心中一定会有些许的疑问,我们在编写scrapy工程的时候,我们只是在定义相关类中的属性或者方法, 但是我们并没有手动的对类进行实例化或者手动调用过相关的方法,那么这些操作都是谁做的呢?接下来我们就来看看scrapy的五大核心组件的工作流程,然后大家就会上述 阅读全文
posted @ 2020-06-30 20:30 Mrterrific 阅读(296) 评论(0) 推荐(0) 编辑
摘要:scrapy基于Spider类的全站数据爬取 大部分的网站展示的数据都进行了分页操作,那么将所有页码对应的页面数据进行爬取就是爬虫中的全站数据爬取。基于scrapy如何进行全站数据爬取呢?1.将每一个页码对应的url存放到爬虫文件的起始url列表(start_urls)中。(不推荐)2. 使用Req 阅读全文
posted @ 2020-06-30 20:26 Mrterrific 阅读(327) 评论(0) 推荐(0) 编辑
摘要:持久化存储 scrapy的高性能持久化存储操作,有两种方式:基于终端指令的持久化存储 和 基于管道的持久化存储操作。 基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。 执行指令:执 阅读全文
posted @ 2020-06-30 20:20 Mrterrific 阅读(196) 评论(0) 推荐(0) 编辑
摘要:scrapy初识什么是框架? 所谓的框架简单通用解释就是就是一个具有很强通用性并且集成了很多功能的项目模板,该模板可被应用在不同的项目需求中。 也可被视为是一个项目的半成品。 如何学习框架? 对于刚接触编程或者初级程序员来讲,对于一个新的框架,只需要掌握该框架的作用及其各个功能的使用和应用即可,对于 阅读全文
posted @ 2020-06-30 20:08 Mrterrific 阅读(193) 评论(0) 推荐(0) 编辑
摘要:selenium处理iframe - 如果定位的标签存在于iframe标签之中,则必须使用switch_to.frame(id) - 动作链(拖动):from selenium.webdriver import ActionChains - 实例化一个动作链对象:action = ActionCha 阅读全文
posted @ 2020-06-30 19:29 Mrterrific 阅读(255) 评论(0) 推荐(0) 编辑
摘要:简介 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器, 完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器。 环境安装 下载安装sele 阅读全文
posted @ 2020-06-30 19:18 Mrterrific 阅读(229) 评论(0) 推荐(0) 编辑
摘要:其实爬虫的本质就是client发请求批量获取server的响应数据,如果我们有多个url待爬取,只用一个线程且采用串行的方式执行,那只能等待爬取一个结束后才能继续下一个,效率会非常低。 需要强调的是:对于单线程下串行N个任务,并不完全等同于低效,如果这N个任务都是纯计算的任务,那么该线程对cpu的利 阅读全文
posted @ 2020-06-30 18:15 Mrterrific 阅读(226) 评论(0) 推荐(0) 编辑
摘要:requests的Cookie处理 有时相关的需求会让我们去爬取基于某些用户的相关用户信息,例如爬取张三人人网账户中的个人身份信息、好友账号信息等。 那么这个时候,我们就需要对当前用户进行登录操作,登录成功后爬取其用户的相关用户信息。 在浏览器中我们可以很便捷的进行用户登录操作,但是使用reques 阅读全文
posted @ 2020-06-30 17:42 Mrterrific 阅读(444) 评论(0) 推荐(0) 编辑
摘要:一些网站中访问其中的数据需要登陆,并且需要输入验证码。 那么为什么要有验证码? 验证码就是一种防止机器识别的措施,也就是一种反爬机制。 那么我们应该如何破解这种反爬机制? 我们可以使用第三方平台,这里推荐使用图鉴http://www.ttshitu.com/price.html 我们需要做的是,注册 阅读全文
posted @ 2020-06-30 17:01 Mrterrific 阅读(461) 评论(0) 推荐(0) 编辑
摘要:引子 回顾requests模块实现数据爬取的流程 --指定url --发起请求 --获取响应数据 --持久化存储 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指定数据解析。因为大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值, 而不是整个页面的 阅读全文
posted @ 2020-06-30 16:24 Mrterrific 阅读(441) 评论(0) 推荐(0) 编辑
摘要:requests模块简介requests模块:python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高。作用:模拟浏览器发请求。requests模块的编码流程 - 指定url - UA伪装 - 请求参数的处理 - 发起请求 - 获取响应数据 - 持久化存储 UA伪装User-Ag 阅读全文
posted @ 2020-06-30 14:35 Mrterrific 阅读(274) 评论(0) 推荐(0) 编辑
摘要:爬虫基础 什么是爬虫? 爬虫就是通过编写程序模拟浏览器上网,让其去互联网上抓取数据的过程。 抓取互联网上的数据,为我所用,有了大量的数据,就如同有了一个数据银行一样,下一步做的就是如何将这些爬取的数据产品化,商业化。 爬虫的合法性探讨 爬虫作为一种计算机技术就决定了它的中立性,因此爬虫本身在法律上并 阅读全文
posted @ 2020-06-30 09:30 Mrterrific 阅读(201) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示