Python 设计问题:最佳';地点';要分析项目中的碎片文本?
从架构/设计的角度来看,这个问题是关于解析从Scrapy中的响应对象获得的文本的最佳位置在哪里的 背景:Python 设计问题:最佳';地点';要分析项目中的碎片文本?,python,scrapy,middleware,Python,Scrapy,Middleware,从架构/设计的角度来看,这个问题是关于解析从Scrapy中的响应对象获得的文本的最佳位置在哪里的 背景: 我正在学习Python,并从一个流行的NFL足球数据库网站抓取数据开始 我已经获得了所需的所有数据点,并将它们存储在本地数据库(sqlite)中 我正在抓取的一件事是“一场接一场”,它收集每场比赛中发生的事情。有一个描述性文本字段,可能会说“球员XYZ传球给球员ABC”或“球员123将球打到中间” 我想获取该文本字段,对其进行解析,并根据某些关键字模式将其分类为一般组,例如“传球比赛””
- 我正在学习Python,并从一个流行的NFL足球数据库网站抓取数据开始
- 我已经获得了所需的所有数据点,并将它们存储在本地数据库(sqlite)中
- 我正在抓取的一件事是“一场接一场”,它收集每场比赛中发生的事情。有一个描述性文本字段,可能会说“球员XYZ传球给球员ABC”或“球员123将球打到中间”
如前所述,作为一个整体,编程是新的,因此我不确定从“设计”的角度看什么是最好的如果您在scrapy中进行任何刮取,您必须考虑要使用哪些项字段来收集数据。因此,在编写scraper之前,首先要弄清楚这些字段是什么 我不一定认为您需要自己的中间件,除非您的数据特别需要在请求和响应方面完成工作。中间件主要用于处理请求和响应,而不是数据操作/清理。i、 e如果您有重复项或需要更改响应或添加请求等 Scrapy是为数据提取而构建的,它已经有了一种健壮的方法,可以将信息放入一个类似于字典的API中,称为ItemsAdapter,它本质上是一个用于不同存储数据方式的包装器 在Scrapy中,还可以用小方法和大方法清理数据。您可以使用ItemLoader,它通过一个可以操作数据或使用管道的小函数来放置项目。管道为您处理提取的数据提供了很大的灵活性 您必须考虑数据库设计和要使用的表,因为最终您将在其中放置数据。在Scrapy中设置数据库管道非常容易。数据库管道足够灵活,可以使用SQL查询将数据放入任何需要的表中
熟悉这里的残缺架构可能有助于您创建流程的心智模型。你可以看到这个非常感谢!这就是我一直在寻找的答案:)