通过 python 从某个网站获取数据

getting data from certian website via python

我试图从中国银行网站获取人民币对美元的汇率,但是我在尝试从网站获取数据时迷路了,这是我的代码:

from lxml import etree
import requests

s = "https://www.boc.cn/sourcedb/whpj/enindex_1619.html"
page = requests.get(s)
tree = etree.HTML(page.text)
element = tree.xpath('./body/table[1]/tbody/tr/td[1]/table[1]/tbody/tr/td/table/tbody/tr[26]/td')
content = etree.tostring(element[0])

element 变量是我检查页面后该页面中美元行的位置 当我 运行 程序时,我收到此消息:

File "d:\Python\tebotCopy.py", line 8, in content = etree.tostring(element[0]) IndexError: list index out of range

您可以尝试使用不同的 XPath 获取包含 USD 的行:

import requests
from lxml import etree

s = "https://www.boc.cn/sourcedb/whpj/enindex_1619.html"
page = requests.get(s)
tree = etree.HTML(page.text)

element = tree.xpath('//table[@bgcolor="#EAEAEA"]/tr[27]/td')
for td in element:
    print(td.text, end=" ")
print()

打印:

USD 641.51 636.29 644.23 644.23 646.12 2021.10.14 07:23:51