前提・実現したいこと
spiders/news.pyにitems.py内のクラスをインポートしたいのですが、インポートエラーになります。
一つ上の階層からのimportにあたる事例かと思いました..を用いましたが、解決できないためお力添えをお願いいたします。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:/Users/----/PycharmProjects/sample_scrapy/myproject/myproject/spiders/news.py", line 2, in <module> from ..items import Headline ImportError: attempted relative import with no known parent package
該当のソースコード
python
1import scrapy 2from ..items import Headline 3 4 5class NewsSpider(scrapy.Spider): 6 name = 'news' 7 allowed_domains = ['news.yahoo.co.jp'] 8 start_urls = ['http://news.yahoo.co.jp/'] 9 10 def parse(self, response): 11 for url in response.css('ul.topicsList_main a::attr("href")').re(r'/pickup/\d+$'): 12 yield response.follow(url, self.parse_topics) 13 14 15 def parse_topics(self, response): 16 item = Headline() 17 item['title'] = response.css('.hd>h1::text').get() 18 item['body'] = response.css('.articleMain>p').xpath('string()').get() 19 yield item
試したこと
もともとは(書籍のサンプルコードを写計したため)、
from myproject.items import Headline
でしたが、
Traceback (most recent call last):
File "C:/Users/g2945/PycharmProjects/sample_scrapy/myproject/myproject/spiders/news.py", line 2, in <module>
from myproject.items import Headline
ModuleNotFoundError: No module named 'myproject.items'
というエラーが出たため、上記のように変更した次第です。
補足情報(FW/ツールのバージョンなど)
書籍のサポートページにある正誤表にも目を通しましたが、それらしき記載はありませんでした。
あなたの回答
tips
プレビュー