【发布时间】:2019-04-01 16:25:26
【问题描述】:
假设我有一个像this 这样的网页。
counter.php
if(isset($_GET['count'])){
$count = intval($_GET['count']);
$previous = $count - 1;
$next = $count + 1;
?>
<a href="?count=<?php echo $previous;?>">< Previous</a>
Current: <?php echo $count;?>
<a href="?count=<?php echo $next;?>">Next ></a>
<?
}
?>
这是一个“无限”的网站,因为您可以一直点击下一步进入下一页(计数器只会增加)或上一个等。
但是,如果我想像这样使用 scrapy 抓取此页面并跟踪链接,scrapy 将永远不会停止抓取。
示例蜘蛛:
urls = []
class TestSpider(CrawlSpider):
name = 'test'
allowed_domains = ['example.com']
start_urls = ['http://example.com/counter?count=1']
rules = (
Rule(LinkExtractor(), callback='parse_item', follow=True),
)
def parse_item(self, response):
urls.append(response.url)
我可以使用什么样的机制来确定我是否确实被困在一个无限的网站中并需要摆脱它?
【问题讨论】:
标签: python web-scraping scrapy scrapy-spider