Scrapy框架初探
Scrapy 貌似是 Python 最出名的爬虫框架
0. 文档
中文文档:https://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
官方文档:https://docs.scrapy.org/en/latest/
中文文档很旧了,建议直接看官方英文文档。
1. 安装
pip install scrapy
还有什么不是这么装的吗。。
2. 新建项目
scrapy startproject <projectname>
非常简单,进入你要放项目的目录,一行命令scrapy自动帮你生成项目框架文件,结构如下:
tutorial/
scrapy.cfg # 框架配置文件tutorial/ # 整个项目目录__init__.pyitems.py # 数据结构在这里定义pipelines.py # 管道处理settings.py # 项目配置文件spiders/ # 爬虫目录__init__.py
3. 流程介绍
- items.py 定义你所爬取的目标数据的结构。比如你要抓取贴吧,那么结构应该类似 用户-头像-主帖id-帖子id-帖子内容-其他等等。如果抓取知乎,数据结构应该类似 用户-头像-签名-回答-问题id-点赞数-评论数。简单来说,就是设计表结构。
- pipelines.py 按照设计者命名来分析,这个管道的作用是将抓取的数据进行一定的处理封装,里面内置的 parse_item 方法也从名字上印证这一点。比如抓到的是转码数据,在这里可以解码翻译。实际项目中通常在这里进行数据库落地操作,把抓取的 item 存入mysql或者mogodb,最后再 return item 即可。
- spiders/xxx.spider.py 实际的爬虫策略都在这个目录下。一个文件表示一个爬虫。通常的流程是 初始链接(首页或者登录页) -- 分析内容,在回调中继续抓取下一页(执行登录操作) -- 继续分析内容,回调抓取... 这里我们不用考虑cookie,scrapy会自动帮我们处理。
4. 小结
如果之前有用 urllib 进行过爬虫联系,那么只要熟悉了scrapy框架的各个文件作用,使用scrapy可以说是收到擒来.有几个参考方法:
- post请求(登录用到): formRequest
- 分析网页内容: response.css()
转载于:https://www.cnblogs.com/dapianzi/p/7522173.html
Scrapy框架初探相关推荐
- scrapy获取a标签的连接_Python爬虫 scrapy框架初探及实战!
Scrapy框架安装 操作环境介绍 操作系统:Ubuntu19.10 Python版本:Python3.7.4 编译器:pycharm社区版 安装scrapy框架(linux系统下) 安装scrapy ...
- Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider
Python爬虫-Scrapy框架(四)- 内置爬虫文件 - 4.2 初探Crawl Spider 写在前面 初探Crawl Spider 创建Crawl Spider项目 对比Basic与Crawl ...
- 这年头学爬虫还就得会点 scrapy 框架
Hello,我是 Alex 007,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 这几天一直在练车,只能在中间休息的时候写一写博客,可怜去年报的名到 ...
- python爬虫之Scrapy框架的post请求和核心组件的工作 流程
python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...
- Scrapy框架中的crawlspider爬虫
1 crawlspider是什么 在spider中要寻找下一页的url地址或者内容的url地址,想想是否有简单的方法省略寻找url的过程? 思路: 从response中提取所有的满足规则的url地址 ...
- Scrapy框架的概念、作用和工作流程
1. scrapy的概念 Scrapy是一个Python编写的开源网络爬虫框架.它是一个被设计用于爬取网络数据.提取结构性数据的框架. Scrapy是一个为了爬取网站数据,提取结构性数 ...
- 爬虫基础分享Scrapy框架流程图与安装
从头开发一个爬虫程序是一项烦琐的工作,为了避免因制造轮子而消耗大量时间,在实际应用中我们可以选择使用一些优秀的爬虫框架,使用框架可以降低开发成本,提高程序质量,让我们能够专注于业务逻辑.所以,我们一起 ...
- python 爬虫 学习笔记(一)Scrapy框架入门
沉迷于通过高效算法及经典数据结构来优化程序的时候并不理解,为什么多线程可以优化爬虫运行速度?原来是程序特性所决定的:传统算法的程序复杂度主要来源于计算,但网络程序的计算时间可以忽略不计,网络程序所面临 ...
- Windows7 Scrapy框架建立
Windows7 Scrapy框架建立 因为在Windows7中安装python 的 scrapy框架实在是太繁琐,而且在网上查找的scrapy安装过程全都是告诉你去哪里下载,所以光去找东西都找了很久 ...
最新文章
- 腾讯首个AI开源项目完成3.0版本迭代,从顶级开源基金会毕业
- .Net Core小技巧 - Swagger适配虚拟目录及二级目录
- IE6下position:absolute的定位BUG(转载)
- HTML5笔记——formData
- CString TCHAR互相转换
- 总结常见的ES6新语法特性
- C++实践參考——二进制文件浏览器
- JAVA 7 正式版发布 新特性一览表
- 出生就遇浏览器大战,亲爹还不爱,命运坎坷的JavaScript终于苦尽甘来
- Advanced Auto Layout
- swagger注释HTML,Swagger注解生成Rest Api文档
- 高速扩张的云市场,需要怎样的安全能力?
- 【Educoder作业】※网页抓取及信息提取
- ImportError: /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: unde
- 三个理由告诉你 为什么社保不能断缴
- arp攻击----arpspoof
- 视频超分——03 SPMC
- 怎样找回e盘删除的文件夹?分享三种恢复方法
- 软件测试面试题之如何对web系统进行全面测试(持续更新中,求关注)
- 基于simulink的无刷直流电机本体建模及六步逆变器控制
热门文章
- nyromodal 非常棒的弹出层,可内嵌各种文件
- AAAI 2020 | 腾讯优图10篇论文入选,含速算识别、视频识别等主题
- CVPR 2019 | 步步为营!通过迭代式模糊核预测提高超分辨质量
- java中如何传递参数给控制器_如何使用ui-router中的ui-sref将参数传递给控制器
- 一个适合于Python初学者的入门练手项目
- 《是碰巧还是执着?python所阅读的每一场知识点,唯一的共同点就是——参赛选手中,有详解Python的装饰器!》
- 程序员需要学习太多数学知识吗?
- Github | 标星3W+ ! Face Recognition世界上最简洁的人脸识别库!
- 物体检测的过去、现在和未来
- 一个实例带你搞懂Apriori关联分析算法