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:
parent
f4f2b1695c
commit
1718e450ef
@ -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 "
|
||||
|
@ -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):
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user