如何确定文本文件下载的底层URL

2024-09-30 00:38:07 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的页面上可以下载一个txt文件。 我对txt部分的第一个文件感兴趣。在

如何获取网址。我可以拉。我如何获得没有 在python中包含java脚本。在

今天是:volume.20110218.txt。在

http://www.optionsclearing.com/webapps/trade-volume-download


Tags: 文件txt脚本comhttpdownloadwww页面
2条回答

页面使用javascript链接提交一个隐藏的表单以便下载文件。表单隐藏字段似乎也由javascript填充。

似乎他们这样做是为了让自动下载更难实现。如果他们不介意自动下载,那就要求他们提供一个更简单的界面,否则,停止尝试。

更新:正如Jeremiah评论的,它们确实有一个批处理接口:

http://www.optionsclearing.com/market-data/batch-processing.jsp

你的问题有点模糊。听起来您想对urllib2BeautifulSoup模块做些什么。

urllib2的函数从基URL获取HTML,用BeautifulSoup解析它,并使用(first TXT?)的target(属性src的值)表中的锚定标记以打开另一个连接并拉取这些内容。然后打开本地文件(或子进程)并将第二次获取的内容提供给它。

使用beauthoulsoup最困难的部分是找到唯一标识要提取的内容部分的特征。现代的HTML非常难看,并且往往有大量无关的垃圾被用来生成它的各种工具和库嵌入其中。(一个提示:单词“class”是Python保留的关键字,也是HTML中的一个公共属性。因此,您将发现通过将“class”属性/模式对包装到dictionary:{'class': some_pattern}而不是大多数其他参数使用的更常见的keyword=pattern形式,来传递给beautifulGroup函数是最简单的。

要处理您可能要阅读的javascript:

What's a good tool to screen-scrape with Javascript support?

目前,听起来您的最佳选择可能是设置基于Java的HTMLUnit包作为网关,然后编写Python来连接和控制它。您还可以尝试Selenium来控制真正的浏览器会话,并通过进程间通信机制从中提取信息。

相关问题 更多 >

    热门问题