我如何从我的服务器访问我的Spider数据主.py脚本?

2024-04-25 17:05:45 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我启动了一个具有以下文件夹结构的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时,它工作得很好,但我有几个问题:

  • 如何打印项目的值而不是所有零碎的输出?你知道吗
  • 假设我需要将数据导入到main.py中的Pandas数据帧中,如何从main.py访问数据?你知道吗

Tags: 数据项目frompyimportprojectappsettings
1条回答
网友
1楼 · 发布于 2024-04-25 17:05:45

您可以使用管道来实现https://docs.scrapy.org/en/latest/topics/item-pipeline.html

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

至于Dataframes部分,您可以在open_spider中创建/导入一个dataframe,并将其分配给一个自变量,以便在spider或process_item中使用

使用管道比将代码放在其他地方更好,因为管道就像一个缓冲区,假设您以100个项目/秒的速度刮取项目,并以10个项目/秒的速度处理项目,那么使用管道不会减慢刮取的速度,而是将刮取的项目排在管道中。你知道吗

相关问题 更多 >