MechanicalSoup with Login: Unable to browser.download_link() with given URL & save-path
MechanicalSoup with Login: Unable to browser.download_link() with given URL & save-path
我目前正在尝试从内部网络获取一些文件。我设法以格式获取某些文件的网址
https://example.site/files/testfile.pdf
。
现在我尝试使用以下方法下载这个特定文件:
import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
for s in site_links ##s = 'https://example.site/file/.../.../file.pdf'
##print(s)
browser.download_link(s, "X:/FolderA/FolderB/test.pdf")
但是每次 PyCharm 都会向我抛出一个我不明白的错误(我是 Python 的新手)。
我四处搜索,但我只找到 Python2 个相关内容或未经用户名和密码身份验证的下载。
在您的代码片段中,s
是一个 URL;但是 browser.download_link
需要 link,即 <a href="...">...</a>
.
download_link
link 如果你有的话,你可以通过。如果没有,MechanicalSoup 没有直接从 URL 下载的便捷功能,因此您需要做更多的工作。例如,以下(未经测试的)代码应该可以满足您的要求:
browser = mechanicalsoup.StatefulBrowser()
response = browser.open(url)
with open('file_to_download_to', 'wb') as fid:
fid.write(response.content)
我目前正在尝试从内部网络获取一些文件。我设法以格式获取某些文件的网址
https://example.site/files/testfile.pdf
。
现在我尝试使用以下方法下载这个特定文件:
import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
for s in site_links ##s = 'https://example.site/file/.../.../file.pdf'
##print(s)
browser.download_link(s, "X:/FolderA/FolderB/test.pdf")
但是每次 PyCharm 都会向我抛出一个我不明白的错误(我是 Python 的新手)。
我四处搜索,但我只找到 Python2 个相关内容或未经用户名和密码身份验证的下载。
在您的代码片段中,s
是一个 URL;但是 browser.download_link
需要 link,即 <a href="...">...</a>
.
download_link
link 如果你有的话,你可以通过。如果没有,MechanicalSoup 没有直接从 URL 下载的便捷功能,因此您需要做更多的工作。例如,以下(未经测试的)代码应该可以满足您的要求:
browser = mechanicalsoup.StatefulBrowser()
response = browser.open(url)
with open('file_to_download_to', 'wb') as fid:
fid.write(response.content)