Есть ли способ получить URL-адрес элемента, значение которого <a href = "#"> - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь очистить данные веб-сайта Bestbuy.com (США), когда мы впервые заходим на страницу продукта URL. Он просит нас выбрать страну, страница продукта . Я пытаюсь получить URL-адрес страницы, которая направляет в США, когда пользователь нажимает на флаг США

Примечание: вы можете попробовать открыть ссылку на страницу продукта в окне инкогнито

Фрагмент кода элемента на сайте розничной торговли, где мы должны выбрать страну, выглядит следующим образом:

<div class="country-selection">
<a href="#" class="us-link">
<img src="https://assets.bbystatic.com/international/landing_page/v2/images/maps/usa.svg" alt="United States">
<h4>United States</h4>
</a>
</div>

Когда я запускаю команду scrapy, чтобы получить URL-адрес элемента href, я получаю значение как '#', что является правильным

response.xpath('/html/body/div[2]/div/div/div/div[1]/div[2]/a[2]/@href').extract()

Когда я нахожу на «#» в исходном коде, я вижу URL, как я могу получить это значение?

Изображение >> Изображение Ссылка

1 Ответ

0 голосов
/ 22 апреля 2019

Как прокомментировал Луис, response.url содержит текущий URL.

Если вы хотите преобразовать относительные URL-адреса в абсолютные URL-адреса в целом, лучше использовать response.urljoin() или заменить Request() на response.follow().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...