在玩scrapy框架的同学,特别是新手,可能会遇到这一个报错:ValueError: attempted relative import beyond top-level package。
出现该问题,一般是因为运行的方式不对,可以从报错提示中看到,运行文件是top250.py,这是我的爬虫主代码文件。
正确的运行姿势,应该是运行main.py文件!!
运行main.py文件,会自动调用该爬虫文件,进行网页数据爬取。
至此,该问题解决了~~
下面讲点别的~~
那为什么这个不能调用父类呢?从逻辑上看,似乎是没有问题的..items是和父级同级的items文件呀?为什么会报错呢?
文件夹被python解释器视作package需要满足两个条件:
1、文件夹中必须有__init__.py文件,该文件可以为空,但必须存在该文件。
2、不能作为顶层模块来执行,即不能作为主模块的入口,用大白话说,就是不能直接执行该文件,要通过其他文件调用该文件来实现。(每一个python文件都算一个模块)
如果本文对您有帮助,记得点赞👍收藏⭐哦!
如果想了解我更多相关领域的好文,记得👀关注我哦,之后每一次更新都会在首页-关注下第一时间收到通知,不错过每一篇好文!