b2b电商系统搭建的关键步骤与最佳实践解析,助力企业数字化转型
694
2022-05-30
Python爬虫入门之 scrapy框架的使用
Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 [1]
支持自定义,方便,好用。异步的,,速度嗖嗖嗖的!!!
异步处理框架,可配置和可扩展程度非常高,Python中使用最广泛的爬虫框架
Scrapy中文文档
常用命令:
0. 准备工作
查看scrapy命令
scrapy -h
安装
pip install scrapy
1. 创建一个scrapy项目
创建scrapy项目
scrapy startproject scrapydemo
切换到scrapydemo项目
cd scrapydemo
创建一个新的spider
scrapy genspider scrapydemo bilibili.com
流程图:
画图
Spider的将需要发送请求的request发送给Engine(引擎
Engine将request发送给Scheduler(调度器
Scheduler(调度器,可理解为url队列),生成request请求交给Engine
Engine拿到request,通过DownloaderMiddleware(可选,主要有UA, Cookie,代理IP)进行层层过滤发送给Downloader
Downloader向互联网发送请求,获取到response后,又经过SpiderMiddleware(爬虫中间件)发送给Engine
Engine获取到response数据之后,返回给Spider,
Spider的parse()方法对获取到的response数据进行处理,解析出item和request,然后发送给Engine
Engine获取到item和request,将item发送给ItemPipeline(管道)进行数据持久化,将request发送给Scheduler(调度
以上步骤会一直循环,循环到无request(url)请求,程序才停止。
注意!即使某个request中报错了,程序也会继续执行到没有request请求才停止。
部分文件说明:
2. 案例实战
链家
查看君子协议:https://www.bilibili.com/robots.txt
3. 数据持久化
存储为csv:
cmdline.execute('scrapy crawl spider -o lianjia.csv'.split())
1
存储为json:
cmdline.execute('scrapy crawl spider -o lianjia.json'.split())
1
存储到数据库:
pipeline.py
Python Scrapy
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。