Как использовать Selenium для получения разных валют с сайта? - PullRequest
1 голос
/ 21 февраля 2020

Я пытаюсь научить Селен в python ломать цены в евро с сайта ниже (я нахожусь за пределами Европы). Если я просто проанализирую html, используя красивый суп, он всегда даст мне цены в долларах. Мне сказали, что Selenium может представить код html в том виде, в котором он отображается (чтобы я мог просматривать цены в евро), но не совсем уверен, как это сделать

Мой код ниже:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os
from bs4 import BeautifulSoup
import requests
import pandas as pd
import json

url = "https://www.colmar.it/en-gb/Man/Ski/Jackets/C352"

driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get(url)

Затем просмотрите данные с помощью BeautifulSoup с кодом ниже:

soup = BeautifulSoup(driver.page_source, 'lxml')
price = []
for price_tag in soup.find_all('span', class_='product-preview__old-price'):
        price.append(price_tag.text)

Поскольку мое местоположение находится за пределами Европы, оно всегда дает мне цены в долларах: (

Есть ли способ получить html как я вижу (когда я изменяю регион доставки на веб-сайте в Европу)?

**** РЕДАКТИРОВАТЬ ****: Я пытался настроить язык на французский, но все еще без успех. Полный код ниже. Любые другие рекомендации?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os
from bs4 import BeautifulSoup
import requests
import pandas as pd
import json

url = "https://www.colmar.it/en-gb/Man/Ski/Jackets/C352"

options = webdriver.ChromeOptions()
options.add_argument("--lang=fr");
driver = webdriver.Chrome(options=options)
driver.implicitly_wait(30)
driver.get(url)

soup = BeautifulSoup(driver.page_source, 'lxml')
price = []
for price_tag in soup.find_all('span', class_='product-preview__old-price'):
        price.append(price_tag.text)

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Я думаю, что вы должны добавить прокси в браузер селена, потому что возможно веб-сайт проверяет страну по IP: D

0 голосов
/ 24 февраля 2020

Вы можете попытаться установить повара ie с определенной страной, попробуйте:

url = "https://www.colmar.it/en-gb/Man/Ski/Jackets/C352"

driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get(url)

# Delete current country cookie
driver.delete_cookie('usrIpCountry')
# Set a cookie with country France
driver.add_cookie({'name':'usrIpCountry', 'value':'France', 'domain': 'www.colmar.it'})

# Refresh before proceeding
driver.refresh()

soup = BeautifulSoup(driver.page_source, 'lxml')
price = []
for price_tag in soup.find_all('span', class_='product-preview__old-price'):
        price.append(price_tag.text)

Это должно сделать это. Удачи!

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