Python 如何使用Selenium从网站获取不同的货币?

Python 如何使用Selenium从网站获取不同的货币?,python,selenium,web-scraping,beautifulsoup,Python,Selenium,Web Scraping,Beautifulsoup,我正在尝试学习python中的Selenium,以便从下面的网站(我位于欧洲以外)中获取欧元价格。如果我只是使用BeautifulSoup解析html,它总是以美元为单位给出价格。有人告诉我,Selenium可以按显示的方式显示html代码(这样我就可以知道欧元的价格了),但我不太确定该怎么做 我的代码如下: from selenium import webdriver from selenium.webdriver.common.keys import Keys import os from

我正在尝试学习python中的Selenium,以便从下面的网站(我位于欧洲以外)中获取欧元价格。如果我只是使用BeautifulSoup解析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)
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)
然后使用以下代码使用BeautifulSoup遍历数据:

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)
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)

您可以尝试设置具有特定国家/地区的cookie,请尝试:

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)


这应该可以了。祝你好运!

你可以尝试在某个国家设置cookie,试试:

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)


这应该可以了。祝你好运!

在执行获取价格汉克之前,调整脚本以更改国家/地区。有什么建议吗?请查看此处的文档:你需要在屏幕/网页上找到元素,然后执行
单击
事件。然后导航到所需页面,并根据需要阅读价格在此之前,它使用cookie
usrIpCountry:“FR”
设置国家和显示欧元。它从我使用Firefox/Chrome(tab
Network
)中的
DevTools
以JSON的形式获取数据,以查看从浏览器到服务器的所有请求。当我过滤到只显示
XHR
AJAX
)请求,然后我得到这个url,我可以看到它在响应中得到了什么——我在JSON中看到了
CurrencySymbol
设置页面上的数据。在DevTools中,我还可以看到所有标题(即cookies),以查看当我在页面上更改国家时它发送给服务器的内容。我看到带有“FR”的cookie,在执行获取价格汉克之前,调整脚本以更改国家。有关此操作的任何提示?请查看此处的文档:您需要在页面上找到元素屏幕/网页,然后在其上执行
单击
事件。然后导航到所需页面并阅读价格,就像在使用cookie
usrIpCountry:“FR”
设置国家和显示欧元之前一样。它从Firefox/Chrome(tab
Network
中的I use
DevTools
以JSON格式获取数据查看从浏览器到服务器的所有请求。当我筛选为仅显示
XHR
AJAX
)请求时,我得到了这个url,我可以看到它得到了什么响应-我在JSON中看到了
CurrencySymbol
。使用XHR(AJAX)是一种流行的方法在DevTools中,我还可以看到所有的标题(即cookies),以查看当我在页面上更改国家时它发送给服务器的内容,并且我看到了带有“FR”的cookie`