1
0
mirror of https://github.com/scrapy/scrapy.git synced 2025-02-21 05:33:16 +00:00

[start_url] Fixes #4133: Raise AttributeError error when empty 'start_urls' and 'start_url' found. Added test.

This commit is contained in:
Mabel Villalba 2019-11-18 12:33:55 +01:00
parent f4f2b1695c
commit 1718e450ef
2 changed files with 12 additions and 0 deletions

View File

@ -68,6 +68,11 @@ class Spider(object_ref):
def start_requests(self):
cls = self.__class__
if not self.start_urls and hasattr(self, 'start_url'):
raise AttributeError(
"Crawling could not start: 'start_urls' not found "
"or empty (but found 'start_url' attribute instead, "
"did you miss an 's'?)")
if method_is_overridden(cls, Spider, 'make_requests_from_url'):
warnings.warn(
"Spider.make_requests_from_url method is deprecated; it "

View File

@ -391,6 +391,13 @@ class CrawlSpiderTest(SpiderTest):
self.assertTrue(hasattr(spider, '_follow_links'))
self.assertFalse(spider._follow_links)
def test_start_url(self):
spider = self.spider_class("example.com")
spider.start_url = 'https://www.example.com'
with self.assertRaisesRegex(AttributeError,
r'^Crawling could not start.*$'):
list(spider.start_requests())
class SitemapSpiderTest(SpiderTest):