python - 导入错误:无法导入名称蜘蛛

标签 python scrapy importerror scrapy-splash

我正在用Python编写一个简单的网络抓取程序,并且我编写了该程序,但是当我尝试使用以下命令“scrapycrawlsplash_spider”在命令行(linux)中运行它时,我收到以下错误消息: “导入错误:无法导入名称蜘蛛”。

Error Message

项目.py

import scrapy


class ScrapyJavascriptItem(scrapy.Item):
        home_team = scrapy.Field()
        away_team = scrapy.Field()

设置.py

BOT_NAME = 'scrapy_javascript'
SPIDER_MODULES = ['scrapy_javascript.spiders']
NEWSPIDER_MODULE = 'scrapy_javascript.spiders'
ROBOTSTXT_OBEY = True

DOWNLOADER_MIDDLEWARES = {
    'scrapy_splash.SplashCookiesMiddleware': 723,
    'scrapy_splash.SplashMiddleware': 725,
    'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}

SPLASH_URL = 'http://localhost:8050'

DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'

SplashSpider.py

from scrapy.spiders import spider
class MySpider(Spider):
        name = 'SplashSpider' # Name of Spider
        start_urls = ['https://www.livescore.bet3000.com'] # url(s)

def start_requests(self):
        for url in self.start_urls:
                yield SplashRequest(url=url, callback=self.parse, args = {"wait" : 3})
#Scraping
def Parse(self, response):
        item = GameItem()
        for game in response.css(".tournament.filterable.table-block.status_upcomingCount.status_upcoming.status_liveoddsCount.status_liveodds.status_nextcount.status_next.kickoff"):
                # Text before home team
                item["home_team"] = game.css("td.hometeam.team.home::text").extract_first()
                # Text before away team
                item["away_team"] = game.css("td.awayteam.team.away::text").extract_first()
                yield item

最佳答案

Spider 需要大写S。可以看到初始类here在他们的代码中。

from scrapy.spiders import Spider

关于python - 导入错误:无法导入名称蜘蛛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56063386/

相关文章:

python - 如何在VSCode中自动将根目录添加到python路径中?

python - django virtualenv mimeparse 导入错误

python - 为什么这个 Sprite 没有显示在屏幕上?

python - 根据当前行和上一行的数据为数据框分配一个新列

python - 用 Pandas : Is there an equivalent to dplyr's select(. ..,一切())重新排列列?

python - 无法使用相对 URL Python Scrapy 下载图像

python - 使用 Python setuptools.command.sdist 导入错误

python - 使用 Selenium 获取元素的位置

python - 爬行时清空输出文件

python - 在 Chrome headless 模式下使用 Python 中的 Selenium 进行 Scrapyng AngularJS