#python #web-scraping #scrapy
Вопрос:
Привет, ребята, я новичок в Scrapy и немного смущен тем, как работает синтаксический анализ. Здесь у меня есть 2 кода сначала с 1 анализом я получаю 20 результатов
def start_requests(self):
url = 'https://news.detik.com/indeks/'
date = '01/01/2020'
assert type(url) is str
assert type(date) is str
max_page = 1
for page in range(1, max_page 1):
complete_url = url str(page) '?date=' date
yield scrapy.Request(complete_url, self.parse)
def parse(self, response):
links = response.xpath('//*[@id="indeks-container"]/article//h3/a/@href').extract()
for link in links:
yield {'link' : link}
но, если я добавлю новый анализ, результат уменьшится до 18
def start_requests(self):
url = 'https://news.detik.com/indeks/'
date = '01/01/2020'
assert type(url) is str
assert type(date) is str
max_page = 1
for page in range(1, max_page 1):
complete_url = url str(page) '?date=' date
yield scrapy.Request(complete_url, self.parse)
def parse(self, response):
links = response.xpath('//*[@id="indeks-container"]/article//h3/a/@href').extract()
for link in links:
yield scrapy.Request(link, callback=self.parse_content)
def parse_content(self, response):
yield {
'title': response.css('.detail__title::text').get().strip()
}
мой вопрос в том, что произойдет ?
Комментарии:
1. Может быть, есть дубликаты URL-адресов? В журнале что-нибудь написано?
Ответ №1:
Во втором случае есть два исключения,
заголовки следующих статей находятся внутри .detail_text
класса, а .detail_title
не класса
‘Bandara Halim Pastikan Penumpang Dapat Kompensasi 100 Persen’ and ‘Kunjungi Posko Banjir Kemang, Anies Pastikan Kebutuhan Warga Terpenuhi’