当前位置: 首页 > 知识库问答 >
问题:

如何在python程序中下载CSV链接

郎聪
2023-03-14

网站为“https://www . NSE India . com/companies-listing/corporate-filings-announcements”。一个朋友给我发来了一些日期之间的下载数据的潜在链接,如"https://www.nseindia.com/api/corporate-announcements的csv文件?指数=股票

csv_url='https://www.nseindia.com/api/corporate-announcements?index=equities&from_date=14-01-2022&to_date=15-01-2022&csv=true%27'
df = pd.read_csv(csv_url)
print(df.head())

共有2个答案

江瀚昂
2023-03-14

好吧,对于这个问题,首先您需要请求带有本文中提到的标题的NSE网站,然后一旦您点击主网站,您将在会话中获得一些cookie,使用它们可以击中所需的URL。要将该url数据转换为pandas兼容字符串,我遵循了这个答案。

确保在标头中包含自定义用户代理,否则它将失败。

import pandas as pd
import io
import requests

base_url = 'https://www.nseindia.com'
session = requests.Session()
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, '
                         'like Gecko) '
                         'Chrome/80.0.3987.149 Safari/537.36',
    'accept-language': 'en,gu;q=0.9,hi;q=0.8',
    'accept-encoding': 'gzip, deflate, br'}

r = session.get(url, headers=headers, timeout=5)
cookies = dict(r.cookies)
response = session.get('https://www.nseindia.com/api/corporate-announcements?index=equities&from_date=14-01-2022&to_date=20-01-2022&csv=true', timeout=5, headers=headers)

content = response.content
df=pd.read_csv(io.StringIO(content.decode('utf-8')))
print(df.head())
咸高谊
2023-03-14

使用 wget.py
DATA_URL = “http://www.robots.ox.ac.uk/~ankush/data.tar.gz”

out_fname = 'abc.tar.gz'

wget。下载(DATA_URL,out=out_fname)

 类似资料:
  • 问题内容: 我有HTML的基本概念。我想在示例网站中创建下载链接,但是我不知道如何创建它。我该如何链接才能下载文件而不是访问文件? 问题答案: 这个答案已经过时了。现在,我们有了属性。 如果“下载链接”是指要下载文件的链接,请使用 在将下载开始之前,新的浏览器窗口出现。当浏览器发现资源是文件下载时,通常会关闭该窗口。 请注意,浏览器已知的文件类型(例如JPG或GIF图像)通常会在浏览器中打开。

  • 如何使用下载链接实现AntiForgeryToken: 我试图创建一个ajax请求,但无法下载文件,控制器中的操作如下所示: 有什么想法吗?

  • 问题内容: 这是我的代码: 这使我可以访问csv文件。我尝试了其他方法来处理下载: 这将给csv文件一个字符串: 这将打印第一行并返回错误:_csv.Error:在未引用的字段中看到换行符 这将在每行中打印一个字母,并且不会打印出整个内容: 我的问题是:在这种情况下读取CSV文件的最有效方法是什么。以及如何下载。 谢谢 问题答案: 这应该有助于: 输出样本: 答案相关的问题: 使用此功能将csv加

  • 问题内容: 控制器中包含以下内容: 规格: 但这不起作用: 我看到“保存文件”对话框,但显然不是“警告”对话框。 如何单击确定并让水豚看到数据? 问题答案: 改编自CollectiveIdea和其他来源。 在OSX上工作。Firefox 34.0.5 规格: 规范助手: 共享/download_helper.rb:

  • 问题内容: 我正在使用python 2.7请求模块使用以下代码下载二进制文件,如何使此代码从部分下载的文件中“自动恢复”下载。 如果可能的话,我宁愿只使用模块来实现这一目标。 问题答案: 如果Web服务器支持范围请求,则可以将Range标头添加到您的请求中: 您将收到StartPos和StopPos之间的部分。如果不知道StopPos,请使用: 因此您的代码将是:

  • 我有文本文件包含的CSV文件格式的样本,我希望我的用户可以下载一个链接点击该文件。 此文件驻留在此文件夹结构中: 资产- 这是我一直尝试的代码: 此代码在页面加载时下载文件,而不是单击链接。此外,它还下载页面的整个html结构,我只需要我在文本文件中编写的文本。 请问问题出在哪里?