我想做的是建立一个简单的爬虫来帮助我从终极吉他下载吉他标签。我可以给它一个乐队的网址,它将抓取链接的所有标签,列为'吉他专业'标签。在
典型的链接如下所示:
https://tabs.ultimate-guitar.com/a/agalloch/you_were_but_a_ghost_in_my_arms_guitar_pro.htm
使用此链接,我可以使用以下代码查找选项卡标识:
for tabid in tab.findAll("input", {"type" : "hidden", "name" : "id", "id" : "tab_id"}):
tabID = tabid.get("value")
我要做的是用这个来建立一个链接到实际的下载。我遇到的问题就在这里。我能建立的最好的链接如下:
请注意,该URL末尾的id是我之前提到的tab_id。在
如果输入浏览器,此链接将立即导致下载。我遇到的问题是我找不到任何方法来生成依赖于实际文件名的链接。这个文件名应该类似于[song name here].gp5。其他可接受的文件类型可以是.gpx、.gp4和.gp3。在
我想做的是获取实际的文件名,这样我就可以正确地保存文件(如果下载的文件名被命名为垃圾,比如ID,这对我没有帮助,因为这对我来说是一个无用的文件名,我显然需要适当的扩展名)。有没有什么方法可以获取上面的链接并正确初始化下载,或者我可能在这个问题上运气不好?我没有足够的经验。当涉及到请求之类的问题时,我是相当无知的,所以也许可以通过这个URL提供一些内容并获得下载作为回报?在
注意:如果很难获得实际的文件名和扩展名,我确实有办法解决这个问题,但显然我至少需要适当的扩展名。在
文件名包含在响应的标头中。您可以用^{} 解析这些头文件,并使用该文件保存文件:
完成下载的完整功能如下所示:
^{2}$相关问题 更多 >
编程相关推荐