摘要: 图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间。 为了解决这种问题,通过前后端配合,使图片仅在浏览器当前视窗内出现时才加载该图片,达到减少首屏图片请求数的技术就被称为“图片懒加载”。 阅读全文
posted @ 2020-06-30 20:50 Mrterrific 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 基于文件下载的管道类 在scrapy中我们之前爬取的都是基于字符串类型的数据,那么要是基于图片数据的爬取,那又该如何呢? 其实在scrapy中已经为我们封装好了一个专门基于图片请求和持久化存储的管道类ImagesPipeline, 那也就是说如果想要基于scrapy实现图片数据的爬取,则可以直接使用 阅读全文
posted @ 2020-06-30 20:41 Mrterrific 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 增加并发: 默认scrapy开启的并发线程为32个,可以适当进行增加。在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100。 降低日志级别: 在运行scrapy时,会有大量日志信息的输出,为了减少CPU的使用率。可以设置log输出信息为I 阅读全文
posted @ 2020-06-30 20:35 Mrterrific 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 在某些情况下,我们爬取的数据不在同一个页面中,例如,我们爬取一个电影网站,电影的名称,评分在一级页面,而要爬取的其他电影详情在其二级子页面中。 这时我们就需要用到请求传参。 请求传参的使用场景 当我们使用爬虫爬取的数据没有存在于同一张页面的时候,则必须使用请求传参。(深度爬取) 示例:爬取boss的 阅读全文
posted @ 2020-06-30 20:34 Mrterrific 阅读(256) 评论(0) 推荐(0) 编辑
摘要: scrapy的基本使用我们已经掌握,但是各位心中一定会有些许的疑问,我们在编写scrapy工程的时候,我们只是在定义相关类中的属性或者方法, 但是我们并没有手动的对类进行实例化或者手动调用过相关的方法,那么这些操作都是谁做的呢?接下来我们就来看看scrapy的五大核心组件的工作流程,然后大家就会上述 阅读全文
posted @ 2020-06-30 20:30 Mrterrific 阅读(282) 评论(0) 推荐(0) 编辑
摘要: scrapy基于Spider类的全站数据爬取 大部分的网站展示的数据都进行了分页操作,那么将所有页码对应的页面数据进行爬取就是爬虫中的全站数据爬取。基于scrapy如何进行全站数据爬取呢?1.将每一个页码对应的url存放到爬虫文件的起始url列表(start_urls)中。(不推荐)2. 使用Req 阅读全文
posted @ 2020-06-30 20:26 Mrterrific 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 持久化存储 scrapy的高性能持久化存储操作,有两种方式:基于终端指令的持久化存储 和 基于管道的持久化存储操作。 基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。 执行指令:执 阅读全文
posted @ 2020-06-30 20:20 Mrterrific 阅读(178) 评论(0) 推荐(0) 编辑
摘要: scrapy初识什么是框架? 所谓的框架简单通用解释就是就是一个具有很强通用性并且集成了很多功能的项目模板,该模板可被应用在不同的项目需求中。 也可被视为是一个项目的半成品。 如何学习框架? 对于刚接触编程或者初级程序员来讲,对于一个新的框架,只需要掌握该框架的作用及其各个功能的使用和应用即可,对于 阅读全文
posted @ 2020-06-30 20:08 Mrterrific 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 这里介绍一款强大验证码识别平台:超级鹰 - 超级鹰:http://www.chaojiying.com/about.html - 注册:普通用户 - 登录:普通用户 - 题分查询:充值 - 创建一个软件(id) - 下载示例代码 1. 打开url 一打开是扫码登陆的页面,这显然不是我们想要的,因此我 阅读全文
posted @ 2020-06-30 19:50 Mrterrific 阅读(236) 评论(0) 推荐(0) 编辑
摘要: selenium处理iframe - 如果定位的标签存在于iframe标签之中,则必须使用switch_to.frame(id) - 动作链(拖动):from selenium.webdriver import ActionChains - 实例化一个动作链对象:action = ActionCha 阅读全文
posted @ 2020-06-30 19:29 Mrterrific 阅读(252) 评论(0) 推荐(0) 编辑