在 Python 中使用 requests.get() 下载 .csv 文件

问题描述 投票:0回答:1

我想使用请求从此页面下载 .CSV 文件 https://data.anbima.com.br/certificado-de-recebiveis?view=precos。得到()。当我使用 Inspect 时,没有直接指向该文件的链接。

该页面可能使用 API 调用来下载。我已经使用 Chrome 上的网络面板研究了该请求,但我陷入了如何在 Python 中传递正确参数的困境。

我正在尝试使用 requests.get( link, params= )

python csv get python-requests-html
1个回答
0
投票

尝试使用 Pandas 库,它现在会自动从 url 下载 csv Pandas 阅读 CSV 文档

import pandas as pd
csv_url = 'csv_url'
df=pd.read_csv(csv_url)

或者,您可以使用 lxml 和请求库来抓取 csv 链接。从网页中获取链接元素的 xpath,并将链接 url 字符串保存为 var。

注意 lxml 以列表形式返回。

from lxml import html
from lxml import etree
import requests

            
url = 'website'
#Open webpage
session_requests = requests.session()
result = session_requests.get(url)
tree = html.fromstring(result.text)

#xpath to csv URL (inspect element and right click to get xpath)

url_list = tree.xpath('xpath') #to get the link add /@href to the end of your xpath

#xpath returns link as a list, this just pulls link text out of the list
csv_url = url_list[0]
© www.soinside.com 2019 - 2024. All rights reserved.