Python Scrapy-尝试目录中的所有ID,而不进行递归链接搜索
假设我们想从一个网站抓取一个特定目录,其中页面名称是特定范围内的整数ID,例如Python Scrapy-尝试目录中的所有ID,而不进行递归链接搜索,python,web-scraping,scrapy,web-crawler,Python,Web Scraping,Scrapy,Web Crawler,假设我们想从一个网站抓取一个特定目录,其中页面名称是特定范围内的整数ID,例如/book/book\u ID其中book\u ID是从0到2000000,我不想抓取整个网站,并且没有一个页面包含所有链接。不允许使用搜索页面(对于空搜索)或效率低下。所以我们只想迭代该范围内的所有ID,并尝试下载页面,然后忽略404错误 但由于Scrapy功能强大,体积庞大,可以处理很多其他事情,我想知道它是否可以用于Scrapy。是的,这是可能的。用于启动对/book/book\u ID页面的请求: def st
/book/book\u ID
其中book\u ID是从0到2000000,我不想抓取整个网站,并且没有一个页面包含所有链接。不允许使用搜索页面(对于空搜索)或效率低下。所以我们只想迭代该范围内的所有ID,并尝试下载页面,然后忽略404错误
但由于Scrapy功能强大,体积庞大,可以处理很多其他事情,我想知道它是否可以用于Scrapy。是的,这是可能的。用于启动对/book/book\u ID
页面的请求:
def start_requests(self):
for book_id in xrange(1, 20000000):
yield Request('https://my_site.com/book/{book_id}'.format(book_id=book_id),
callback=self.parse_book)
def parse_book(self, response):
# parse the response
另外,Scrapy默认情况下会忽略404
。但是,如果您需要,您可以处理它,请参见: