我想从www.xoom.com那里快速获得当天的汇率
到目前为止,这就是我所拥有的:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.xoom.com')
data = r.text
soup = BeautifulSoup(data)接下来,在查看了这个网页的源代码之后,我知道这里提到了汇率:
<p class="xcma-fx-rate">Current locked-in exchange rate* <em class="fx-rate">1 USD = 60.1500 INR</em></p>我试过几件事,比如:
soup.find_all('div class')但它给了我一个空数组:[]
我怎么刮汇率?
发布于 2014-09-16 10:10:20
试试这个:
text_rate = soup.find('em',attrs={'class':'fx-rate'}).getText()此外,使用lmxl,假设元素位于页面上,您可以通过以下代码获得比率:
import requests
import lxml.html
r = requests.get('https://www.xoom.com/india/send-money')
data = r.text
tree = lxml.html.fromstring(data)
rate = tree.xpath("//em[@class='fx-rate']")
print rate[0].text_content()打印1 USD = 60.1500 INR
发布于 2014-09-16 12:03:55
首先,我拿错了一页。
因为我已经打开那个网站很多次了,当我在浏览器中打开它时,它会自动显示主页地址上的“印度”汇率页面(在检查了存储在我机器中的一些cookie之后,我想)。但是,当我使用Python时,这种情况不会发生。因此,我需要显式地声明要获取的正确页面。这里提到的费率是:xoom.com/india/寄钱
现在正确的代码是:
import requests
from bs4 import BeautifulSoup
r = requests.get('https://www.xoom.com/india/send-money')
data = r.text
soup = BeautifulSoup(data)
for rate in soup.find_all('em'):
print rate.text发布于 2019-11-11 10:28:58
我也尝试使用我正在抓取的代码,我想我找到了解决这个问题的方法:
如果需要,可以替换该链接:
import requests
import lxml.html
r = requests.get('https://www.xoom.com/philippines/send-money')
data = r.text
tree = lxml.html.fromstring(data)
rate = tree.xpath("//div[@class='js-exchange-rate']")
rate[0].text_content()我使用Python3.8和Anaconda
结果是:
' 1 USD = 49.1238 PHP* 'https://stackoverflow.com/questions/25865811
复制相似问题