Я не совсем понял ", если URL-ссылка в теге совпадает с URL-адресом веб-сайта ".Если вы пытаетесь создать столбец в файле .csv, который указывает, что найденный URL-адрес совпадает с response.url, вы можете сделать что-то вроде этого:
- Создать другое двоичное поле с именем
is_match
is_match = scrapy.Field()
Установите его равным 1, если url и canonical совпадают, в противном случае 0
item['is_match'] = 1 if item['canonical'] == response.url else 0
Вы можете добиться того же поведения с блоками if-else, но это более элегантно.Это называется троичным оператором.Вы можете увидеть эту страницу для получения дополнительной информации.
Если вы хотите очистить только соответствующие URL-адреса, тогда вы можете поместить блок if в метод parse
.
if response.url == response.xpath("//link[@rel='canonical' and @href]/@href").extract():
item = urlsitem()
item['status'] = response.status
item['url'] = response.url
item['canonical'] = response.xpath("//link[@rel='canonical' and@href]/@href").extract()
yield item