利用Scrapy框架爬虫时出现报错ModuleNotFoundError: No module named 'scrapytest.NewsItems'?
#引入文件
import scrapy

class MySpider(scrapy.Spider):
    #用于区别Spider
    name = "MySpider"
    #允许访问的域
    allowed_domains = []
    #爬取的地址
    start_urls = []
    #爬取方法
    def parse(self, response):
        pass

class NewsItem(scrapy.Item):
    #新闻标题
    title = scrapy.Field()
    #新闻url
    url = scrapy.Field()
    #发布时间
    time = scrapy.Field()
    #新闻内容
    introduction = scrapy.Field()

#定义一个item
news = NewsItem()
#赋值
news['title'] = "第六届年会在我校成功举办"
#取值
news['title']
news.get('title')
#获取全部键
news.keys()
#获取全部值
news.items()

import scrapy
#引入容器
from scrapytest.NewsItems import NewsItem

class MySpider(scrapy.Spider):
    #设置name
    name = "MySpider"
    #设定域名
    allowed_domains = ["xgxy.hbue.edu.cn"]
    #填写爬取地址
    start_urls = ["http://xgxy.hbue.edu.cn/2627/list.htm"]
    #编写爬取方法
    def parse(self, response):
        #实例一个容器保存爬取的信息
        item = NewsItem()

显示错误为:
ModuleNotFoundError Traceback (most recent call last)
in
1 import scrapy
2 #引入容器
----> 3 from scrapytest.NewsItems import NewsItem
4
5 class MySpider(scrapy.Spider):

ModuleNotFoundError: No module named 'scrapytest.NewsItems'

希望大佬帮忙看一下,出了什么问题,万分感谢!

1个回答

import scrapy
#引入容器
from scrapytest.NewsItems import NewsItem
改为
from scrapytest.items import NewsItem

从 scrapytest文件下的items文件 引入NewsItem
前提是你没有把items.py文件改名,也没有修改settings里的设置

qq_43656607
天不绝我 回复周珂^o^: 这句话---从 scrapytest文件下的items文件 引入NewsItem。。。。看懂了吗?结合你的实际情况,你的classNewitem在哪个文件里,就从哪里引用。
3 个月之前 回复
weixin_44704229
周珂^o^ 你好,我按照你的那个语句改正后,还是出现同样的问题,还是我需要修改items.py的文件名?望指教,感谢!
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问