python - 如何使用 python 以编程方式从 MusicBrainz 检索编辑历史页面?

标签 python web musicbrainz

我正在尝试以编程方式从 MusicBrainz 网站检索编辑历史记录页面。 (musicbrainzngs 是 MB Web 服务的库,无法从 Web 服务访问编辑历史记录)。为此,我需要使用我的用户名和密码登录 MB 网站。

我尝试使用mechanize模块,并使用登录页面的第二个表单(第一个是搜索表单),我提交了我的用户名和密码;从响应来看,我似乎成功登录该网站;但是,对编辑历史记录页面的进一步请求会引发异常:

mechanize._response.httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

我了解异常及其原因。我对不滥用该网站承担全部责任(毕竟,任何使用都会用我的用户名标记),我只是想避免手动打开页面、保存 HTML 并在保存的 HTML 上运行脚本。我可以克服 403 错误吗?

最佳答案

更好的解决方案是尊重 robots.txt 文件并简单地下载编辑数据本身,而不是屏幕抓取 MusicBrainz。您可以在此处下载完整的编辑历史记录:

ftp://ftp.musicbrainz.org/pub/musicbrainz/data/fullexport

查找文件 mbdump-edit.tar.bz2。

并且,作为 MusicBrainz 团队的领导者,我想请您尊重 robots.txt 并下载编辑数据。这就是我们提供可下载编辑数据的原因之一。

谢谢!

关于python - 如何使用 python 以编程方式从 MusicBrainz 检索编辑历史页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9645426/

相关文章:

python - 如何识别并突出显示 pandas 数据帧每一行中的异常值

python - 将 numpy 数组写入 lmdb

用于网站的 Node.js

spotify - 将 musicbrainz URI 映射到 Spotify URI

java - 如何在 grails 中使用现有的 java 数据绑定(bind)?

audio - Musicbrainz 指纹识别

python - 情节 : Too many ticks on X axe

python - 如何调用类中包含的异步函数?

html - 尝试打印时网站上的 CSS 消失了

html - 如何导入 2 个不同的文件图标?