1 2 3 4

随笔分类 -  爬虫

摘要:13.10 Scrapy 通用爬虫 通过 Scrapy,我们可以轻松地完成一个站点爬虫的编写。但如果抓取的站点量非常大,比如爬取各大媒体的新闻信息,多个 Spider 则可能包含很多重复代码。 如果我们将各个站点的 Spider 的公共部分保留下来,不同的部分提取出来作为单独的配置,如爬取规则、页面 阅读全文
posted @ 2021-03-29 22:15 学霸君主 阅读(146) 评论(0) 推荐(0)
摘要:13.9 Scrapy 对接 Splash 在上一节我们实现了 Scrapy 对接 Selenium 抓取淘宝商品的过程,这是一种抓取 JavaScript 动态渲染页面的方式。除了 Selenium,Splash 也可以实现同样的功能。本节我们来了解 Scrapy 对接 Splash 来进行页面抓 阅读全文
posted @ 2021-03-29 22:14 学霸君主 阅读(168) 评论(0) 推荐(0)
摘要:第十四章 分布式爬虫 在上一章中,我们了解了 Scrapy 爬虫框架的用法。这些框架都是在同一台主机上运行的,爬取效率比较有限。如果多台主机协同爬取,那么爬取效率必然会成倍增长,这就是分布式爬虫的优势。 本章我们就来了解一下分布式爬虫的基本原理,以及 Scrapy 实现分布式爬虫的流程。 阅读全文
posted @ 2021-03-29 22:12 学霸君主 阅读(29) 评论(0) 推荐(0)
摘要:13.13 Scrapy 爬取新浪微博 前面讲解了 Scrapy 中各个模块基本使用方法以及代理池、Cookies 池。接下来我们以一个反爬比较强的网站新浪微博为例,来实现一下 Scrapy 的大规模爬取。 1. 本节目标 本次爬取的目标是新浪微博用户的公开基本信息,如用户昵称、头像、用户的关注、粉 阅读全文
posted @ 2021-03-29 21:40 学霸君主 阅读(778) 评论(0) 推荐(0)
摘要:13.12 Scrapy 对接 Docker 环境配置问题可能一直是我们头疼的,我们可能遇到过如下的情况: 我们在本地写好了一个 Scrapy 爬虫项目,想要把它放到服务器上运行,但是服务器上没有安装 Python 环境。 别人给了我们一个 Scrapy 爬虫项目,项目中使用包的版本和我们本地环境版 阅读全文
posted @ 2021-03-29 21:39 学霸君主 阅读(108) 评论(0) 推荐(0)
摘要:14.4 Bloom Filter 的对接 首先回顾一下 Scrapy-Redis 的去重机制。Scrapy-Redis 将 Request 的指纹存储到了 Redis 集合中,每个指纹的长度为 40,例如 27adcc2e8979cdee0c9cecbbe8bf8ff51edefb61 就是一个指 阅读全文
posted @ 2021-03-29 21:37 学霸君主 阅读(76) 评论(0) 推荐(0)
摘要:14.3 Scrapy 分布式实现 接下来,我们会利用 Scrapy-Redis 来实现分布式的对接。 1. 准备工作 请确保已经成功实现了 Scrapy 新浪微博爬虫,Scrapy-Redis 库已经正确安装,如果还没安装,请参考第 1 章的安装说明。 2. 搭建 Redis 服务器 要实现分布式 阅读全文
posted @ 2021-03-29 21:36 学霸君主 阅读(82) 评论(0) 推荐(0)
摘要:14.2 Scrapy-Redis 源码解析 Scrapy-Redis 库已经为我们提供了 Scrapy 分布式的队列、调度器、去重等功能,其 GitHub 地址为:https://github.com/rmax/scrapy-redis。 本节我们深入了解一下,利用 Redis 如何实现 Scra 阅读全文
posted @ 2021-03-29 21:35 学霸君主 阅读(126) 评论(0) 推荐(0)
摘要:14.1 分布式爬虫原理 我们在前面已经实现了 Scrapy 微博爬虫,虽然爬虫是异步加多线程的,但是我们只能在一台主机上运行,所以爬取效率还是有限的,分布式爬虫则是将多台主机组合起来,共同完成一个爬取任务,这将大大提高爬取的效率。 1. 分布式爬虫架构 在了解分布式爬虫架构之前,首先回顾一下 Sc 阅读全文
posted @ 2021-03-29 21:34 学霸君主 阅读(79) 评论(0) 推荐(0)
摘要:15.4 Scrapyd 批量部署 我们在上一节实现了 Scrapyd 和 Docker 的对接,这样每台主机就不用再安装 Python 环境和安装 Scrapyd 了,直接执行一句 Docker 命令运行 Scrapyd 服务即可。但是这种做法有个前提,那就是每台主机都安装 Docker,然后再去 阅读全文
posted @ 2021-03-29 21:22 学霸君主 阅读(99) 评论(0) 推荐(0)
摘要:Python3网络爬虫开发实战 0.0-前言 0.1-序一 0.3-序二 1-开发环境配置 1.1-Python3的安装 1.2-请求库的安装 1.3-解析库的安装 1.4-数据库的安装 1.5-存储库的安装 1.6-Web库的安装 1.7-App爬取相关库的安装 1.8 爬虫框架的安装 1.9 部 阅读全文
posted @ 2020-07-17 13:16 学霸君主 阅读(3261) 评论(0) 推荐(0)
摘要:第一章 开发环境配置 工欲善其事,必先利其器! 编写和运行程序之前,我们必须先把开发环境配置好。只有配置好了环境并且有了更方便的开发工具,我们才能更加高效地用程序实现相应的功能。然而很多情况下,我们可能在最开始就卡在环境配置上,如果这个过程花费了太多时间,学习的兴趣可能就下降了大半,所以本章专门对本 阅读全文
posted @ 2020-07-17 13:13 学霸君主 阅读(129) 评论(0) 推荐(0)
摘要:15.3 Scrapyd 对接 Docker 我们使用了 Scrapyd-Client 成功将 Scrapy 项目部署到 Scrapyd 运行,前提是需要提前在服务器上安装好 Scrapyd 并运行 Scrapyd 服务,而这个过程比较麻烦。如果同时将一个 Scrapy 项目部署到 100 台服务器 阅读全文
posted @ 2020-07-17 12:58 学霸君主 阅读(600) 评论(0) 推荐(0)
摘要:13.4 Spider 的用法 在 Scrapy 中,要抓取网站的链接配置、抓取逻辑、解析逻辑里其实都是在 Spider 中配置的。在前一节实例中,我们发现抓取逻辑也是在 Spider 中完成的。本节我们就来专门了解一下 Spider 的基本用法。 1. Spider 运行流程 在实现 Scrapy 阅读全文
posted @ 2020-07-17 12:56 学霸君主 阅读(508) 评论(0) 推荐(0)
摘要:9.1 代理的设置 在前面我们介绍了多种请求库,如 Requests、Urllib、Selenium 等。我们接下来首先贴近实战,了解一下代理怎么使用,为后面了解代理池、ADSL 拨号代理的使用打下基础。 下面我们来梳理一下这些库的代理的设置方法。 1. 获取代理 做测试之前,我们需要先获取一个可用 阅读全文
posted @ 2020-07-17 12:55 学霸君主 阅读(479) 评论(0) 推荐(0)
摘要:13.8 Scrapy 对接 Selenium Scrapy 抓取页面的方式和 requests 库类似,都是直接模拟 HTTP 请求,而 Scrapy 也不能抓取 JavaScript 动态渲染的页面。在前文中抓取 JavaScript 渲染的页面有两种方式。一种是分析 Ajax 请求,找到其对应 阅读全文
posted @ 2020-07-17 12:54 学霸君主 阅读(345) 评论(0) 推荐(0)
摘要:15.2 Scrapyd-Client 的使用 这里有现成的工具来完成部署过程,它叫作 Scrapyd-Client。本节将简单介绍使用 Scrapyd-Client 部署 Scrapy 项目的方法。 1. 准备工作 请先确保 Scrapyd-Client 已经正确安装,安装方式可以参考第 1 章的 阅读全文
posted @ 2020-07-17 12:52 学霸君主 阅读(257) 评论(0) 推荐(0)
摘要:15.1 Scrapyd 分布式部署 分布式爬虫完成并可以成功运行了,但是有个环节非常烦琐,那就是代码部署。 我们设想下面的几个场景。 如果采用上传文件的方式部署代码,我们首先将代码压缩,然后采用 SFTP 或 FTP 的方式将文件上传到服务器,之后再连接服务器将文件解压,每个服务器都需要这样配置。 阅读全文
posted @ 2020-07-17 12:49 学霸君主 阅读(466) 评论(0) 推荐(0)
摘要:前言 为什么写这本书 在这个大数据时代,尤其是人工智能浪潮兴起的时代,不论是工程领域还是研究领域,数据已经成为必不可少的一部分,而数据的获取很大程度上依赖于爬虫的爬取,所以爬虫也逐渐变得火爆起来。 我是在 2015 年开始接触爬虫的,当时爬虫其实并没有这么火,我当时觉得能够把想要的数据抓取下来就是一 阅读全文
posted @ 2020-07-17 12:43 学霸君主 阅读(206) 评论(1) 推荐(0)
摘要:第十五章 分布式爬虫的部署 在前一章我们成功实现了分布式爬虫,但是在这个过程中我们发现有很多不方便的地方。 在将 Scrapy 项目放到各台主机运行时,你可能采用的是文件上传或者 Git 同步的方式,但这样需要各台主机都进行操作,如果有 100 台、1000 台主机,那工作量可想而知。 本章我们就来 阅读全文
posted @ 2020-07-17 12:38 学霸君主 阅读(156) 评论(0) 推荐(0)