mỗi khi tôi chạy mã của tôi, ip của tôi bị cấm. Tôi cần trợ giúp để trì hoãn từng yêu cầu trong 10 giây. Tôi đã cố gắng đặt DOWNLOAD_DELAY trong mã nhưng nó không cho kết quả. Bất kỳ trợ giúp được đánh giá cao.Yêu cầu trì hoãn lậu
# item class included here
class DmozItem(scrapy.Item):
# define the fields for your item here like:
link = scrapy.Field()
attr = scrapy.Field()
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["craigslist.org"]
start_urls = [
"https://washingtondc.craigslist.org/search/fua"
]
BASE_URL = 'https://washingtondc.craigslist.org/'
def parse(self, response):
links = response.xpath('//a[@class="hdrlnk"]/@href').extract()
for link in links:
absolute_url = self.BASE_URL + link
yield scrapy.Request(absolute_url, callback=self.parse_attr)
def parse_attr(self, response):
match = re.search(r"(\w+)\.html", response.url)
if match:
item_id = match.group(1)
url = self.BASE_URL + "reply/nos/vgm/" + item_id
item = DmozItem()
item["link"] = response.url
return scrapy.Request(url, meta={'item': item}, callback=self.parse_contact)
def parse_contact(self, response):
item = response.meta['item']
item["attr"] = "".join(response.xpath("//div[@class='anonemail']//text()").extract())
return item
thử loại này trước khi yêu cầu time.sleep của bạn (10) – Ajay
đâu tôi nên đặt time.sleep() chính xác? –
có thể nằm sau dòng này tôi đoán là absolute_url = self.BASE_URL + liên kết – Ajay