selenium+pandas 爬取实时汇率
使用场景
汇率是实时波动的,我们都希望在较高汇率时转账,但是实时盯着电脑是不现实的,本文目标实现python 脚本自动查询汇率。汇率信息参考:https://www.pandaremit.com/zh/deu/china/eur-cny-converter?amount=2000
实现方式
selenium 安装
谷歌浏览器驱动下载地址:https://registry.npmmirror.com/binary.html?path=chromedriver
1、查看谷歌浏览器的版本:
chrome地址栏输入chrome://version,
2、下载安装对应的版本:
下载的对应版本的压缩包并解压,将exe文件放入 chrome安装目录(C:\Program Files\Google\Chrome\Application),并加入系统环境
3、最后执行pip install selenium命令,安装 selenium 库。
pip install selenium
动态页面加载
selenium实现动态页面加载
# 创建虚拟操作器
driver = webdriver.Chrome()# 打开网址
url =f"https://www.pandaremit.com/zh/deu/china/eur-cny-converter?amount=2000"
driver.get(url)# 确保网页完全加载(table出现)
WebDriverWait(driver,20).until(lambda driver: driver.find_element(By.XPATH,'//table').is_displayed())# 找到表格参数
table = driver.find_element(By.XPATH,"//table")
driver.quit()
实时汇率获取
利用pandas获取页面表格
# 找到表格参数
table = driver.find_element(By.XPATH,"//table")# 将玩也上的表格转为pandas的dataframe
table_html = table.get_attribute('outerHTML')
df = pd.read_html(table_html)[0]
完整代码演示
# 引用第三方库from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import pandas as pd
defexchange_rates_crawler(tag_country, transfer_currency, tag_currency):"""
输入: 目标转入国家、转出币种、转入币种
:return: 转账汇率
"""# 创建虚拟操作器
driver = webdriver.Chrome()# 打开网页
url =f"https://www.pandaremit.com/zh/deu/{tag_country}/{transfer_currency}-{tag_currency}-converter?amount=2000"
driver.get(url)# 等待网页加载,直到table被加载
WebDriverWait(driver,20).until(lambda driver: driver.find_element(By.XPATH,'//table').is_displayed())# 找到表格参数
table = driver.find_element(By.XPATH,"//table")# 将玩也上的表格转为pandas的dataframe
table_html = table.get_attribute('outerHTML')
df = pd.read_html(table_html)[0]
driver.quit()# 读取汇率值
element_rate = df["汇率"][0]return element_rate
if __name__ =="__main__":"""
主函数:获取实时转账汇率
"""
exchange_rate = exchange_rates_crawler(tag_country='china', transfer_currency='eur', tag_currency='cny')print(exchange_rate)
总结
本文主要展示如何获取动态加载页面中的信息(比如网页表格延迟加载),另外涉及selenium函数其他用法,xpath使用方法以及HTML知识有兴趣读者可以自己探索💗
创作不易,喜欢请支持,您的支持将是我前进最大的动力!
版权归原作者 苟住别浪 所有, 如有侵权,请联系我们删除。