繁体   English   中英

如何从main.py脚本访问Spider数据?

[英]How do I acess my Spider data from my main.py script?

假设我已经使用此文件夹结构启动了一个Scrapy项目:

.root
├── main.py
├── scrapy.cfg
├── app
│  ├── items.py
│  ├── middlewares.py
│  ├── pipelines.py
│  ├── settings.py
│  └── spiders
│     ├── my_spider.py

因此,在main.py文件中,我有:

#!/usr/bin/env python
import scrapy
from app.spiders.my_spider import MySpider
from scrapy.crawler import CrawlerProcess
from scrapy.settings import Settings
from scrapy.utils.project import get_project_settings

process = CrawlerProcess(get_project_settings())
process.crawl(VultrSpider())
process.start()

当我在终端上运行./main.py时,它工作正常,但是我有几个问题:

  • 如何打印项目的值而不是所有Scrapy输出?
  • 如何访问我的数据从main.py ,假设我需要将数据导入到数据帧大熊猫在main.py

您可以将管道用于https://docs.scrapy.org/en/latest/topics/item-pipeline.html

只需创建一个管道并将您的输出或处理插入到process_item

至于“数据框”部分,您可以在open_spider创建/导入一个数据open_spider并将其分配给自变量,以便在Spider或process_item

使用管道比将代码放到其他地方更好,因为管道就像缓冲区一样工作,假设您以100项/秒的速度抓取项目,以10项/秒的速度处理项目,那么使用管道不会使抓取工作变慢,宁愿将您的报废物品在管道中排队。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM