ModuleNotFoundError: No module named 'stack'
ModuleNotFoundError: No module named 'stack'
我试图从一个网站抓取数据,我已经安装了 scrapy。当我尝试 运行 下面的代码时,它显示“ModuleNotFoundError:没有名为 'stack' 的模块。任何人都可以告诉我发生了什么,我如何 运行 没有任何代码错误?
from scrapy import Spider
from scrapy.selector import Selector
from stack.items import StackItem
class StackSpider(Spider):
name = "stack"
allowed_domains = ["whosebug.com"]
start_urls = [
"http://whosebug.com/questions?pagesize=50&sort=newest",
]
def parse(self, response):
questions = Selector(response).xpath('//div[@class="summary"]/h3')
for question in questions:
item = StackItem()
item['title'] = question.xpath(
'a[@class="question-hyperlink"]/text()').extract()[0]
item['url'] = question.xpath(
'a[@class="question-hyperlink"]/@href').extract()[0]
yield item
接下来来自您的代码:
item = StackItem()
item['title'] = question.xpath(
'a[@class="question-hyperlink"]/text()').extract()[0]
item['url'] = question.xpath(
'a[@class="question-hyperlink"]/@href').extract()[0]
我认为最有可能的 stack.items
不是来自 pypi
,它来自您复制的一些本地代码,因为看起来它与 "http://whosebug.com/questions?pagesize=50&sort=newest"
的 html个元素。
所以,也许您将项目设置为 scrapy startproject stack
,并且还需要有一个 items.py
,如下所示:
items.py:
from scrapy import Item, Field
class StackItem(Item):
title = Field()
url = Field()
仔细检查您的参考文件,确认是否有遗漏。
我试图从一个网站抓取数据,我已经安装了 scrapy。当我尝试 运行 下面的代码时,它显示“ModuleNotFoundError:没有名为 'stack' 的模块。任何人都可以告诉我发生了什么,我如何 运行 没有任何代码错误?
from scrapy import Spider
from scrapy.selector import Selector
from stack.items import StackItem
class StackSpider(Spider):
name = "stack"
allowed_domains = ["whosebug.com"]
start_urls = [
"http://whosebug.com/questions?pagesize=50&sort=newest",
]
def parse(self, response):
questions = Selector(response).xpath('//div[@class="summary"]/h3')
for question in questions:
item = StackItem()
item['title'] = question.xpath(
'a[@class="question-hyperlink"]/text()').extract()[0]
item['url'] = question.xpath(
'a[@class="question-hyperlink"]/@href').extract()[0]
yield item
接下来来自您的代码:
item = StackItem()
item['title'] = question.xpath(
'a[@class="question-hyperlink"]/text()').extract()[0]
item['url'] = question.xpath(
'a[@class="question-hyperlink"]/@href').extract()[0]
我认为最有可能的 stack.items
不是来自 pypi
,它来自您复制的一些本地代码,因为看起来它与 "http://whosebug.com/questions?pagesize=50&sort=newest"
的 html个元素。
所以,也许您将项目设置为 scrapy startproject stack
,并且还需要有一个 items.py
,如下所示:
items.py:
from scrapy import Item, Field
class StackItem(Item):
title = Field()
url = Field()
仔细检查您的参考文件,确认是否有遗漏。