通过 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
我试图从中国银行网站获取人民币对美元的汇率,但是我在尝试从网站获取数据时迷路了,这是我的代码:
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