【发布时间】:2019-08-06 19:32:06
【问题描述】:
我是 Python 新手,现在我正在尝试从 BMO 网站 (https://www.bmo.com/home/personal/banking/rates/foreign-exchange) 抓取货币买入/卖出率,但是,当我尝试抓取时,我得到的只是一无所获。
我通过一个示例学习,并在下面使用 Visual Studio 2019 编写了一个非常示例。我可以从这些网站打印段落文本,但是当我将 xpath 更改为表格单元格元素路径时,它什么也没返回。
用于抓取段落文本和工作:
---------
import requests
from lxml.html import etree
url = 'https://www.bmo.com/home/personal/banking/rates/foreign-exchange'
r=requests.get(url).text
s=etree.HTML(r)
file = s.xpath('//*[@id="main_content"]/p[2]/text()')
print(file)
---------
它运行良好且输出:提供的费率......页面底部也是如此。
当将 s.xpath 改回 '//*[@id="ratesTable"]/tbody/tr[2]/td[3]/text()' 时, (我正在尝试按美元计算卖出率), 它返回了一个'[]',里面什么都没有。我用'file'元素调试,里面什么都没有,长度也是0。
我在这里做错了吗?我相信 xpath 和 url 是正确的。 我希望我能在单元格中得到十进制数 1.2931(销售率)。
【问题讨论】:
标签: python web-scraping