python - 如何使用 Selenium 从网站获取不同的货币?
问题描述
我正在尝试在 python 中学习 Selenium,以从以下网站(我位于欧洲以外)获取欧元价格。如果我只是用漂亮的汤来解析 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)
解决方案
您可以尝试在某个国家/地区设置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)
这应该可以。祝你好运!
推荐阅读
- python - 在 conda 环境中在 circleci 运行测试
- c++ - 如何将 std::cin 作为函数的参数传递?
- typescript - 打字稿承诺 Rest Api
- c# - 从 C# Web 应用程序预订 Outlook 会议室
- php - vue-json-excel 包含多个 excel 下载的数据问题
- python - Jupyter Kernel ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序
- powershell - 尝试在 CSV 列表中导入 CSV
- python - Python 多页网页仅抓取文本
- docker - Kibana 数据在 docker-compose 关闭时丢失
- c# - 如何从非异步 Web API 调用异步方法