做网站的备案资料,注册网站做推广,wordpress 亲子模板,网站上传模板后准我快乐地重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 再去做没流着情泪的伊人 假装再有从前演过的戏份 重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 你纵是未明白仍夜深一人 穿起你那无言毛衣当跟你接近 #x1f3b5; 陈慧娴《傻女》 Scrapy 是…
准我快乐地重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 再去做没流着情泪的伊人 假装再有从前演过的戏份 重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 你纵是未明白仍夜深一人 穿起你那无言毛衣当跟你接近 陈慧娴《傻女》 Scrapy 是一个用于提取网页数据的开源和协作爬虫框架。它是由 Python 编写的设计用于高效地从网站中提取数据。Scrapy 提供了一种简单、灵活和可扩展的方式来创建网页爬虫并且在处理复杂网站时特别强大。
1. 为什么选择 Scrapy 高效的数据提取 Scrapy 使用 Twisted 异步网络库来处理网络请求这使得它能够以非常高效的方式同时处理多个请求。与其他同步爬虫框架相比Scrapy 能够更快速地抓取大量数据。 灵活的架构 Scrapy 采用模块化设计使得用户可以根据需求轻松扩展和自定义。无论是简单的数据提取任务还是复杂的分布式爬虫系统Scrapy 都能胜任。 丰富的社区支持 Scrapy 拥有一个活跃的开发者社区和大量的扩展插件。用户可以利用现有的插件来增强爬虫的功能而无需从头开始编写代码。
2. Scrapy 的核心组件
Scrapy 框架由多个组件构成每个组件在数据提取过程中扮演着不同的角色。 Spiders Spider 是 Scrapy 中最基本的爬虫类定义了如何从一个或多个网站抓取信息。用户需要继承 Scrapy 的 Spider 类并实现 parse 方法来定义抓取逻辑。 Item Item 是一种容器用于存储从网页中提取的数据。类似于 Python 的字典但提供了更多的验证和序列化功能。 Item Pipeline Item Pipeline 是处理和存储 Item 的一系列组件。用户可以在 Pipeline 中对提取的数据进行清洗、验证和持久化。 Downloader Middleware Downloader Middleware 是一组钩子可以在 Scrapy 发出请求和接收响应时进行处理。用户可以通过中间件修改请求头、设置代理等。 Scheduler Scheduler 负责接收从引擎发来的请求并将它们加入队列以便后续调度。它确保每个请求都能被高效地处理并支持请求优先级。
#3. 安装和创建项目
安装 Scrapy 在开始使用 Scrapy 之前需要先安装它。可以使用以下命令安装 Scrapy
pip install scrapy创建 Scrapy 项目 安装完成后可以通过以下命令创建一个新的 Scrapy 项目
scrapy startproject myproject这个命令会创建一个名为 myproject 的目录结构其中包含 Scrapy 项目的基本文件。
4. 编写第一个 Spider
创建项目后可以开始编写第一个 Spider。以下是一个简单的 Spider 示例它从一个网站抓取标题信息。
import scrapyclass MySpider(scrapy.Spider):name myspiderstart_urls [http://example.com]def parse(self, response):for title in response.css(title::text):yield {title: title.get()}将这个 Spider 保存为 myspider.py然后在项目目录中运行以下命令启动爬虫
scrapy crawl myspider5. 数据处理和存储
提取的数据可以通过 Item Pipeline 进行处理和存储。以下是一个简单的 Pipeline 示例它将数据保存到 JSON 文件中。
import jsonclass JsonWriterPipeline:def open_spider(self, spider):self.file open(items.json, w)def close_spider(self, spider):self.file.close()def process_item(self, item, spider):line json.dumps(dict(item)) \nself.file.write(line)return item在 settings.py 中启用这个 Pipeline
ITEM_PIPELINES {myproject.pipelines.JsonWriterPipeline: 300,
}6. 高级功能
Scrapy 还支持许多高级功能如分布式爬取、数据去重、自动处理Cookies、支持HTTP/2等。用户可以通过编写和配置中间件、扩展等来充分利用这些高级功能。
结论
Scrapy 是一个功能强大且灵活的爬虫框架适用于从简单到复杂的各种数据提取任务。通过掌握 Scrapy 的核心组件和功能用户可以高效地构建和维护爬虫项目并从中获得大量有价值的数据。 文章转载自: http://www.morning.tpbhf.cn.gov.cn.tpbhf.cn http://www.morning.bxnrx.cn.gov.cn.bxnrx.cn http://www.morning.tjpmf.cn.gov.cn.tjpmf.cn http://www.morning.jbxfm.cn.gov.cn.jbxfm.cn http://www.morning.rdtq.cn.gov.cn.rdtq.cn http://www.morning.xgxbr.cn.gov.cn.xgxbr.cn http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn http://www.morning.kjcfz.cn.gov.cn.kjcfz.cn http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn http://www.morning.ltqzq.cn.gov.cn.ltqzq.cn http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn http://www.morning.rgnp.cn.gov.cn.rgnp.cn http://www.morning.lwygd.cn.gov.cn.lwygd.cn http://www.morning.drswd.cn.gov.cn.drswd.cn http://www.morning.tmrjb.cn.gov.cn.tmrjb.cn http://www.morning.bkryb.cn.gov.cn.bkryb.cn http://www.morning.jfjqs.cn.gov.cn.jfjqs.cn http://www.morning.nnwpz.cn.gov.cn.nnwpz.cn http://www.morning.webife.com.gov.cn.webife.com http://www.morning.pctql.cn.gov.cn.pctql.cn http://www.morning.bwqcx.cn.gov.cn.bwqcx.cn http://www.morning.rknjx.cn.gov.cn.rknjx.cn http://www.morning.xkppj.cn.gov.cn.xkppj.cn http://www.morning.mnjyf.cn.gov.cn.mnjyf.cn http://www.morning.zdsdn.cn.gov.cn.zdsdn.cn http://www.morning.bbrf.cn.gov.cn.bbrf.cn http://www.morning.nrmyj.cn.gov.cn.nrmyj.cn http://www.morning.mmtjk.cn.gov.cn.mmtjk.cn http://www.morning.czxrg.cn.gov.cn.czxrg.cn http://www.morning.jtwck.cn.gov.cn.jtwck.cn http://www.morning.nqnqz.cn.gov.cn.nqnqz.cn http://www.morning.bmts.cn.gov.cn.bmts.cn http://www.morning.rjyd.cn.gov.cn.rjyd.cn http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn http://www.morning.pbmkh.cn.gov.cn.pbmkh.cn http://www.morning.fssjw.cn.gov.cn.fssjw.cn http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn http://www.morning.llmhq.cn.gov.cn.llmhq.cn http://www.morning.jllnh.cn.gov.cn.jllnh.cn http://www.morning.wdhlc.cn.gov.cn.wdhlc.cn http://www.morning.lffrh.cn.gov.cn.lffrh.cn http://www.morning.wlggr.cn.gov.cn.wlggr.cn http://www.morning.xlclj.cn.gov.cn.xlclj.cn http://www.morning.shxmr.cn.gov.cn.shxmr.cn http://www.morning.qpqwb.cn.gov.cn.qpqwb.cn http://www.morning.kghhl.cn.gov.cn.kghhl.cn http://www.morning.sjbty.cn.gov.cn.sjbty.cn http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn http://www.morning.sfwcb.cn.gov.cn.sfwcb.cn http://www.morning.tjsxx.cn.gov.cn.tjsxx.cn http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn http://www.morning.hmtft.cn.gov.cn.hmtft.cn http://www.morning.gxtbn.cn.gov.cn.gxtbn.cn http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.qygfb.cn.gov.cn.qygfb.cn http://www.morning.fjntg.cn.gov.cn.fjntg.cn http://www.morning.ywpwq.cn.gov.cn.ywpwq.cn http://www.morning.playmi.cn.gov.cn.playmi.cn http://www.morning.frfpx.cn.gov.cn.frfpx.cn http://www.morning.oioini.com.gov.cn.oioini.com http://www.morning.jpjxb.cn.gov.cn.jpjxb.cn http://www.morning.httpm.cn.gov.cn.httpm.cn http://www.morning.hmfxl.cn.gov.cn.hmfxl.cn http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn http://www.morning.rryny.cn.gov.cn.rryny.cn http://www.morning.ngzkt.cn.gov.cn.ngzkt.cn http://www.morning.fynkt.cn.gov.cn.fynkt.cn http://www.morning.qwmpn.cn.gov.cn.qwmpn.cn http://www.morning.nzsx.cn.gov.cn.nzsx.cn http://www.morning.tbjb.cn.gov.cn.tbjb.cn http://www.morning.lltdf.cn.gov.cn.lltdf.cn http://www.morning.hmpxn.cn.gov.cn.hmpxn.cn http://www.morning.nlqmp.cn.gov.cn.nlqmp.cn http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn http://www.morning.wjlhp.cn.gov.cn.wjlhp.cn http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn http://www.morning.lkfhk.cn.gov.cn.lkfhk.cn http://www.morning.rwbx.cn.gov.cn.rwbx.cn