假设我启动了一个具有以下文件夹结构的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
访问数据?你知道吗
您可以使用管道来实现https://docs.scrapy.org/en/latest/topics/item-pipeline.html
只需创建一个管道并将输出或处理插入
process_item
至于Dataframes部分,您可以在
open_spider
中创建/导入一个dataframe,并将其分配给一个自变量,以便在spider或process_item
中使用使用管道比将代码放在其他地方更好,因为管道就像一个缓冲区,假设您以100个项目/秒的速度刮取项目,并以10个项目/秒的速度处理项目,那么使用管道不会减慢刮取的速度,而是将刮取的项目排在管道中。你知道吗
相关问题 更多 >
编程相关推荐