本文整理汇总了Python中Crawler.Crawler._process_next_url方法的典型用法代码示例。如果您正苦于以下问题:Python Crawler._process_next_url方法的具体用法?Python Crawler._process_next_url怎么用?Python Crawler._process_next_url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Crawler.Crawler
的用法示例。
在下文中一共展示了Crawler._process_next_url方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_crawl_limit
# 需要导入模块: from Crawler import Crawler [as 别名]
# 或者: from Crawler.Crawler import _process_next_url [as 别名]
def test_crawl_limit(self):
c = Crawler("http://a.com")
c.SLEEP_TIME = 0
def side_effect():
c.process_q.pop(0)
c._process_next_url = mock.Mock(side_effect=side_effect)
c.render_sitemap = mock.Mock()
c.URL_LIMIT = 10
c.process_q = ["test"] * 5
c.crawl()
self.assertEqual(c._process_next_url.call_count, 5)
c._process_next_url.call_count = 0
c.process_q = ["test"] * 10
c.URL_LIMIT = 5
c.crawl()
self.assertEqual(c._process_next_url.call_count, 5)
c._process_next_url.call_count = 0
c.process_q = ["test"] * 10
c.URL_LIMIT = float("inf")
c.crawl()
self.assertEqual(c._process_next_url.call_count, 10)
示例2: test__process_next_url_blacklist
# 需要导入模块: from Crawler import Crawler [as 别名]
# 或者: from Crawler.Crawler import _process_next_url [as 别名]
def test__process_next_url_blacklist(self):
c = Crawler("http://a.com")
c.bad_urls = {"http://a.com/a/b/c/": True}
c.process_q.append("http://a.com/a/b/c/")
c._make_request = mock.Mock(return_value=None)
c._process_html = mock.Mock()
c._process_next_url()
self.assertEqual(len(c.process_q), 1)
self.assertEqual(len(c.bad_urls), 2)
c._process_next_url()
self.assertEqual(len(c.process_q), 0)
self.assertEqual(len(c.bad_urls), 2)
self.assertEqual(c._process_html.call_count, 0)