首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
scrapy高级
订阅
Frank3110
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
Scrapy框架的使用之Selector的用法
Scrapy提供了自己的数据提取方法,即Selector(选择器)。Selector是基于lxml来构建的,支持XPath选择器、CSS选择器以及正则表达式,功能全面,解析速度和准确度非常高。 本节将介绍Selector的用法。 1. 直接使用 Selector是一个可以独立使…
Scrapy框架的使用之Scrapy爬取新浪微博
前面讲解了Scrapy中各个模块基本使用方法以及代理池、Cookies池。接下来我们以一个反爬比较强的网站新浪微博为例,来实现一下Scrapy的大规模爬取。 本次爬取的目标是新浪微博用户的公开基本信息,如用户昵称、头像、用户的关注、粉丝列表以及发布的微博等,这些信息抓取之后保存…
分布式爬虫原理之分布式爬虫原理
我们在前面已经实现了Scrapy微博爬虫,虽然爬虫是异步加多线程的,但是我们只能在一台主机上运行,所以爬取效率还是有限的,分布式爬虫则是将多台主机组合起来,共同完成一个爬取任务,这将大大提高爬取的效率。 在了解分布式爬虫架构之前,首先回顾一下Scrapy的架构,如下图所示。 S…
Scrapy 对接 Docker
环境配置问题可能一直会让我们头疼,包括如下几种情况。 我们在本地写好了一个Scrapy爬虫项目,想要把它放到服务器上运行,但是服务器上没有安装Python环境。 其他人给了我们一个Scrapy爬虫项目,项目使用包的版本和本地环境版本不一致,项目无法直接运行。 我们需要同时管理不…
分布式爬虫原理之Scrapy分布式实现
接下来,我们会利用Scrapy-Redis来实现分布式的对接。 请确保已经成功实现了Scrapy新浪微博爬虫,Scrapy-Redis库已经正确安装。 要实现分布式部署,多台主机需要共享爬取队列和去重集合,而这两部分内容都是存于Redis数据库中的,我们需要搭建一个可公网访问的…
分布式爬虫的部署之Scrapyd分布式部署
分布式爬虫完成并可以成功运行了,但是有个环节非常烦琐,那就是代码部署。 我们设想下面的几个场景。 如果采用上传文件的方式部署代码,我们首先将代码压缩,然后采用SFTP或FTP的方式将文件上传到服务器,之后再连接服务器将文件解压,每个服务器都需要这样配置。 如果采用Git同步的方…
分布式爬虫的部署之Scrapyd-Client的使用
这里有现成的工具来完成部署过程,它叫作Scrapyd-Client。本节将简单介绍使用Scrapyd-Client部署Scrapy项目的方法。 请先确保Scrapyd-Client已经正确安装。 Scrapyd-Client为了方便Scrapy项目的部署,提供如下两个功能。 将…
Scrapy框架的使用之Scrapy对接Splash
在上一节我们实现了Scrapy对接Selenium抓取淘宝商品的过程,这是一种抓取JavaScript动态渲染页面的方式。除了Selenium,Splash也可以实现同样的功能。本节我们来了解Scrapy对接Splash来进行页面抓取的方式。 请确保Splash已经正确安装并正…
Scrapy框架的使用之Scrapyrt的使用
Scrapyrt为Scrapy提供了一个调度的HTTP接口。有了它我们不需要再执行Scrapy命令,而是通过请求一个HTTP接口即可调度Scrapy任务,我们就不需要借助于命令行来启动项目了。如果项目是在远程服务器运行,利用它来启动项目是个不错的选择。 我们以本章Scrapy入…
Scrapy框架的使用之Scrapy通用爬虫
通过Scrapy,我们可以轻松地完成一个站点爬虫的编写。但如果抓取的站点量非常大,比如爬取各大媒体的新闻信息,多个Spider则可能包含很多重复代码。 如果我们将各个站点的Spider的公共部分保留下来,不同的部分提取出来作为单独的配置,如爬取规则、页面解析方式等抽离出来做成一…