【问题标题】:Python: Scraping a CSV file requestPython:抓取 CSV 文件请求
【发布时间】:2017-06-25 22:57:24
【问题描述】:

一个经常和长期潜伏在这里的人:我通常在这里找到我的问题的答案。然而,我可能遇到过一个让我无法理解的简单但模糊的项目。我对 Python 相当陌生(目前使用的是 3.6 版)。

我在看:https://www.ishares.com/us/products/239726/

据我所知,这里涉及到一些 jquery 内容:查看页面的“Holdings”部分附近。如果选择了“全部”,而不是选择“前 10 名”,则可以选择“截至”。

如果选择了特定的历史月份,则会创建下载 .csv 的提示。我想做的是获取从下拉列表中生成的每个 csv 文件,可以追溯到 2006 年 9 月 29 日。换句话说,自动下载为通过此下拉列表给出的每个请求生成的 .csv 文件.

为了提供一些(不一定相关的)上下文,我熟悉 pandas 和 bs4,也许还有其他一些不太流行的库。作为背景,我保留了一些桌面参考资料:Magnus Lie Hetland 的“Beginning Python”和 Wes McKinney 的“Python for Data Analysis: Data Wrangling with Pandas、NumPy 和 IPython”。

我想要一些关于如何解决我可能忽略的问题的小方向。换句话说,面包屑很有帮助,但并不要求任何人为我完成所有这些工作。我想尽可能多地探索和学习。

我应该使用哪些库/方法?我知道这是完全开放的,所以我想尽可能地坚持 bs4 和 Pandas。其他库也很有帮助,但这些将是重点。

谢谢!

【问题讨论】:

  • 可以构造csv关联的url,使用requests模块获取数据。
  • @pvg 肯定是在风口浪尖上,但是您能否提供一个具体的无效标准来满足这个问题?我觉得这是一个关于编程问题的特定问题,即使它有点开放,所以我不确定其他人是否清楚这是题外话。
  • 感谢 Frash,非常感谢!
  • @Alvaz 阅读了帮助中心链接,其中很多。

标签: python web-scraping financial


【解决方案1】:

我想要一些关于如何解决这个问题的小方向

使用浏览器的开发人员工具,检查正在发出的网络请求。您会看到,当您选择历史月份时,会发出请求。如果从该请求中复制 URL,则可以将其粘贴到浏览器中,以查看是否可以“重放”请求以获取有效负载。我测试过,你可以。更重要的是,您可以非常清楚地看到查询参数。它们没有被混淆。这意味着您可以通过编程方式生成 URL,然后您可以使用 cURL 或 wget on。

请注意,我尝试指定“csv”文件类型并得到一个空响应,但是当我请求“json”文件类型时,我得到了数据。 YMMV。祝你好运!

【讨论】:

  • 谢谢你,AlVaz,这对你很有帮助!
  • @Skyline 很高兴我能帮上忙。如果您认为这满足您的需求,请投票并接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2021-03-24
  • 2018-03-22
  • 2021-10-28
  • 2016-02-21
  • 2021-12-27
相关资源
最近更新 更多