解决Pycharm中from mySpyder.items import myItem报错问题
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Pycharm中from mySpyder.items import myItem报错问题相关的知识,希望对你有一定的参考价值。
问题描述
在items.py
中,自定义item方法。
# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html
import scrapy
class MyspiderItem(scrapy.Item):
# define the fields for your item here like:
# 名字
name = scrapy.Field()
# 职称
title = scrapy.Field()
# 描述
desc = scrapy.Field()
# 开发经验
RD_achievements = scrapy.Field()
我们需要在scrapy中引入这个方法,就是我们scrapy中自己定义的item方法,但是我们需要在scrapy中的spider中引用,所以我们需要,加一串代码,改变我们的引入方式。
PyCharm中from mySpyder.items import ItcastItem
报错:
原始引入方式:
import scrapy
from crawlAdvanced.myspider.myspider.items import MyspiderItem
"""
scrapy crawl itcast --nolog
"""
from crawlAdvanced.myspider.myspider.items import MyspiderItem ModuleNotFoundError: No module named 'crawlAdvanced'
解决方法1
将from mySpider.items import myItem
改为from ..items import myItem
在一个package中,同级使用 .
在父级使用 ..
可能是电脑不知道 你说的是哪个文件 毕竟这两个文件名是一样的。(我也不懂,希望大佬可以指正!)
scrapy startproject mySpider
scrapy crawl mySpider
scrapy crawl mySpider -o teachers.json
解决方法2
若仍然报错,可以参考尝试下面的方法:(我的报错使用上面的解决了)
# -*- coding: utf-8 -*-
#原来的python的引入scrapy 的类中的方法有误,请用这个方法再次引入
from __future__ import absolute_import
#就是以上这一句代码
import scrapy
from selenium import webdriver
from scrapy_splash import SplashMiddleware
from scrapy_splash import SplashRequest
import pymysql
from ..item360 import Jc360Item
以上是关于解决Pycharm中from mySpyder.items import myItem报错问题的主要内容,如果未能解决你的问题,请参考以下文章
PyCharm中Python代码提示:Shadows name from outer scope
pycharm安装第三方库:Try to run this command from the system terminal. Make sure that you use the问题,亲测已解决
Pycharm中使用from appium import webdriver时报错:ModuleNotFoundError: No module named 'appium'(示例代码
Pycharm中使用from appium import webdriver时报错:ModuleNotFoundError: No module named 'appium'(示例代码