试图从脚本中的另一个位置运行一个抓取程序



全部,

我正在尝试完全自动化我的抓取,它由3个步骤组成:

1-获取广告的索引页列表(由于各种原因,非零散工作)2-从步骤一中获得的索引页面中获取广告URL的列表(剪贴工作)

我的零碎项目在通常的目录中:

C: \Python27\Scripts\GetAdUrlsFromIndex_project\GetAdUrlFromIndex\spider\GetAdUrls_spider.py("GetAdUrls_spider"文件中的spider的名称为(name="GetAdUrls")

我的自动化步骤1和2的脚本位于以下目录中:

C: \Website_DATA\SCRIPTS\StepByStepLauncher.py

我尝试使用Scrapy文档导入爬网程序,并使用以下代码从脚本内部运行:

from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy.settings import Settings
from scrapy import log
from GetAdUrlsFromIndex.spiders.GetAdUrls_spider import getadurls
spider = getadurls(domain='website.com')
crawler = Crawler(Settings())
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run() # the script will block here

不幸的是,当我尝试运行此脚本时,我一直收到错误"No module named GetAdUrlsFromIndex.spider.GetAdUrl_spider"。。我试着把工作目录改到几个不同的地方,我摆弄着名字,似乎什么都不起作用。。

如果有任何帮助,我将不胜感激。。谢谢

如果C:Python27ScriptsGetAdUrlsFromIndex_projectGetAdUrlsFromIndexC:Python27ScriptsGetAdUrlsFromIndex_projectGetAdUrlsFromIndexspiders中确实有__init__.py,请尝试以这种方式修改脚本

import sys
from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy.settings import Settings
from scrapy import log
sys.path.append('C:/Python27/Scripts/GetAdUrlsFromIndex_project')
from GetAdUrlsFromIndex.spiders.GetAdUrls_spider import getadurls
spider = getadurls(domain='website.com')
crawler = Crawler(Settings())
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run() # the script will block here

相关内容

  • 没有找到相关文章

最新更新