【问题标题】:Downloading file with Python mechanize使用 Python mechanize 下载文件
【发布时间】:2012-06-15 15:37:59
【问题描述】:

我正在尝试使用 python 和机械化从网站下载文件。我当前的代码成功登录网站并打开包含下载链接的页面。

下载链接为:https://www.lendingclub.com/browse/browseNotesRawDataV2.action

链接的信息是:

Link(base_url='https://www.lendingclub.com/browse/browse.action', url='/browse/browseNotesRawDataV2.action', text='', tag='a', attrs=[('class', 'master_pngfix'), ('id', 'browseDownloadAllLink'), ('href', '/browse/browseNotesRawDataV2.action')])

我使用follow_link方法点击链接:

br = mechanize.Browser()
br.follow_link(url='/browse/browseNotesRawDataV2.action')

但是,没有任何反应,也没有下载文件。当我登录后在浏览器中打开链接时,它会暂停几秒钟并下载文件。

如何使用 Python 下载文件?

【问题讨论】:

  • 您是否启用了日志记录?你在那里见过什么?您是否尝试过“检索”而不是 follow_link?
  • 如何启用日志记录?我在 Mac 上使用 Eclipse。我尝试检索,但没有任何反应。有什么方法可以指示要另存为的文件名吗?
  • 您可以使用import logging; logging.basicConfig(level=logging.DEBUG)开启日志记录
  • 我打开了日志记录,但没有看到任何错误。
  • 您在日志中还看到了什么?任何 HTTP 404、403、500 错误?它是否说有关下载文件的任何信息?至于参数,您可以在交互式 python shell 中使用pydoc mechanizehelp(mechanize.Browser.retrieve) 查找它们。

标签: python web-scraping mechanize


【解决方案1】:

对于任何感兴趣的人,这就是解决方案:

br.retrieve('https://www.lendingclub.com/browse/browseNotesRawDataV2.action','l‌​oans.csv')[0]

【讨论】:

  • 只是为了跟进@user1137778 的回答,请确保提供文件名(示例中的第二个参数),否则会创建一个临时文件并随后将其删除。例如,br.retrieve(yourcustomurl, f'{yourcustomfilename}.mp3')[0]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多