从python脚本中运行scrapy程序

2024-10-01 07:11:21 发布

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

enter image description hereenter image description here我试图从python脚本运行scray。我几乎成功地做到了这一点,但有些事情就是不起作用。在我的代码中,我有这样一行run_spider(quotes5)quotes5是我用来在cmd:scrapy crawl quotes5中执行的片段的名称。有什么帮助吗? 错误是quotes5未定义。在

这是我的代码:

import scrapy
from twisted.internet import reactor
from scrapy.crawler import CrawlerRunner
from scrapy.utils.log import configure_logging
import json
import csv
import re
from crochet import setup
from importlib import import_module
from scrapy.utils.project import get_project_settings
setup()


def run_spider(spiderName):
    module_name="WS_Vardata.spiders.{}".format(spiderName)
    scrapy_var = import_module(module_name)   #do some dynamic import of selected spider   
    spiderObj= scrapy_var.QuotesSpider()           #get mySpider-object from spider module
    crawler = CrawlerRunner(get_project_settings())   #from Scrapy docs
    crawler.crawl(spiderObj)  

run_spider(quotes5)

废代码(引号_蜘蛛网.py)公司名称:

^{pr2}$

enter image description here


Tags: run代码fromimportproject名称getutils
1条回答
网友
1楼 · 发布于 2024-10-01 07:11:21

由于错误提示quote5是未定义的,因此需要在将quote5传递给方法之前定义quote5。或者试试这样的方法:

run_spider(“quotes5”)

编辑时间:

^{pr2}$

此脚本应在与WS\u Vardata相同的目录中运行

所以在你的情况下:

- TEST
| the_code.py
| WS_Vardata
   | spiders
     | quotes_spider <= containing QuotesSpider class 

相关问题 更多 >