2017-06-25 39 views
-1

这里是一个经常和长期的潜伏者:我通常在这里找到我的问题。但是,我遇到了一个简单而又含糊不清的项目,它可以逃脱我。我相当新的Python(目前使用版本3.6)。Python:刮取CSV文件请求

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

从我可以告诉,这里存在一些涉及jQuery的东西:寻找靠近页面的“控股”部分。如果选择“全部”,则不会选择“前10名”,而是可以选择持有“截至”。

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

为了给出一些(不一定相关的)上下文,我对大熊猫和bs4以及其他一些不太流行的库很熟悉。作为背景,我保留了几个桌面参考资料:Magnus Lie Hetland撰写的'Beginning Python'以及Wes McKinney撰写的'用于数据分析的Python:与Pandas,NumPy和IPython数据纠缠'。

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

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

谢谢!

+0

如果你是一个很长时间的潜伏者,你知道这种问题不是关于[SO]的话题,你可以在[help/on-topic]看到。 – pvg

+0

您可以构建与csv关联的url并使用'requests'模块获取数据。 – Frash

+0

@pvg这绝对是在风口浪尖上,但是你能提供一个关于这个问题无效的特定标准吗?我觉得这是一个关于编程问题的具体问题,即使它是一个开放式的问题,所以我不确定这对于其他人来说是多么清晰,这是无关紧要的。 – AlVaz

回答

-1

我想对如何处理这个问题

使用浏览器的开发工具,审查所取得的网络请求一些小的方向发展。您会看到,当您选择一个历史月份时,会发出请求。如果您从该请求中复制URL,则可以将其粘贴到浏览器中,以查看是否可以“重放”请求以获取有效内容。我测试过了,你可以。更重要的是,你可以很清楚地看到查询参数。他们没有被混淆。这意味着您可以通过编程方式生成URL,然后您可以使用cURL或wget

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

+0

谢谢,AlVaz,这一直是超级有用! – Skyline

+0

@Skyline很高兴我能帮到你。如果您认为这可以满足您的需求,请注册并接受答案。 – AlVaz