###該当のソースコード
def test(): print('Hello World!') if __name__ == '__main__': test()
###該当のソースコード
import scrapy class BlogSpider(scrapy.Spider): name = 'blogspider' start_urls = ['https://blog.scrapinghub.com'] def parse(self, response): for url in response.css('ul li a::attr("href")').re('.*/category/.*'): yield scrapy.Request(response.urljoin(url), self.parse_titles) def parse_titles(self, response): for post_title in response.css('div.entries > ul > li a::text').extract(): yield {'title': post_title}
test関数のコードはtest()で呼び出されているのでprint('Hello World!')が動くのは理解ができるのですが、下のBlogSpiderクラスの方はどこにも呼び出しがないのになぜファイルを読み込むと動作をするのでしょうか?
呼び出しがない場合は一番上の行のname = 'blogspider'から読み込まれて実行をするというルールがあるのですか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/17 16:03