所需内容与静态网址位于同一网页上。
我创建了一个抓取此页面并以CSV格式存储项目的蜘蛛。但它只执行一次然后完成爬行过程。但我需要不断重复操作。我怎么能这样做?
Scrapy 0.12
Python 2.5
答案 0 :(得分:5)
给你一个具体的例子很难,因为我不知道你正在使用什么蜘蛛及其内部工作方式,但这样的事情可行。
from scrapy.http import Request
class YourSpider(BaseSpider):
# ...spider init details...
def parse(self, response):
# ...process item...
yield item
yield Request(response.url, callback=self.parse)
答案 1 :(得分:3)
你缺少dont_filter = True。 以下是示例。
import scrapy
class MySpider(BaseSpider):
start_urls = ('http://www.test.com',)
def parse(self, response):
### Do you processing here
yield scrapy.Request(response.url, callback=self.parse, dont_filter=True)
答案 2 :(得分:0)
我这样编码:
def start_requests(self):
while True:
yield scrapy.Request(url, callback=self.parse, dont_filter=True)
我尝试过以下方式,但是有一个问题,当互联网不稳定时,它会停止并会打破循环。
from scrapy.http import Request
class YourSpider(BaseSpider):
# ...spider init details...
def parse(self, response):
# ...process item...
yield item
yield Request(response.url, callback=self.parse)