Я работаю над Scrapy, чтобы очистить сайт.И я хочу извлечь только те элементы, которые не были очищены в предыдущем запуске.Я пытаюсь на сайте "https://www.ndtv.com/top-stories" извлечь только первый заголовок, если он обновлен.
Ниже мой код:
import scrapy
from selenium import webdriver
from w3lib.url import url_query_parameter
class QuotesSpider(scrapy.Spider):
name = "test"
start_urls = [
'https://www.ndtv.com/top-stories',
]
def parse(self, response):
print ('testing')
print(response.url)
yield {
'heading': response.css('div.nstory_header a::text').extract_first(),
}
DOWNLOADER_MIDDLEWARES = {
'scrapy_crawl_once.CrawlOnceMiddleware': 100,
}
SPIDER_MIDDLEWARES = {
#'inc_crawling.middlewares.IncCrawlingSpiderMiddleware': 543,
'scrapy.contrib.spidermiddleware.referer.RefererMiddleware': True,
'scrapy_deltafetch.DeltaFetch': 100,
'scrapy_crawl_once.CrawlOnceMiddleware': 100,
'scrapylib.deltafetch.DeltaFetch': 100,
'inc_crawling.middlewares.deltafetch.DeltaFetch': 100,
}
COOKIES_ENABLED = True
COOKIES_DEBUG = True
DELTAFETCH_ENABLED = True
DELTAFETCH_DIR = '/home/administrator/apps/inc_crawling'
DOTSCRAPY_ENABLED = True
Я обновил код выше в настройках.py файл:
Я выполняю приведенный выше код с помощью команды «scrapy crawl test -o test.json» и после каждого запуска .db файл и файл test.json обновляются.
Итак, я ожидаю, что всякий раз, когда 1-й заголовок обновляется, только тогда обновляется .db.
пожалуйста, помогите мне, если есть какой-нибудь лучший способ извлечь обновленный заголовок.