Есть ли способ получить URL, с которого удалена ссылка? - PullRequest
1 голос
/ 14 февраля 2020

Мне выписали паука, который сканирует мой сайт и очищает кучу тегов. Сейчас я пытаюсь вернуть URL-адрес, на котором была обнаружена ссылка.

Например:

www.example.com/product/123 было найдено на www.example.com/page/2.

Когда scrap извлекает информацию из /product/123 Я хочу иметь поле "Scraped From" и возвращать /page/2. Для каждого очищенного URL я бы хотел найти исходную страницу, на которой был найден URL. Я пролил документы и не могу понять это. Любая помощь будет оценена!

1 Ответ

1 голос
/ 14 февраля 2020

Самый простой способ - это использовать response.headers. Должен быть заголовок реферера.

referer = response.headers['Referer']

Вы также можете использовать мета для передачи информации на следующий URL.

def parse(self, response):
    product_url = response.css('#url').get()
    yield scrapy.Request(product_url, callback=self.parse_product, meta={'referer': response.url})

def parse_product(self, response):
    referer = response.meta['referer']
    item = ItemName()
    item['referer'] = referer
    yield item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...