如何使用Python

问题描述 投票:0回答:0

below是公开访问的链接

Https://assetplanner.com/files/? B2TLBII6ILQ1MDIWOVOXMDAYIIIWIDWLKIJOIMJGWNDQ1IIIWIZHQIOJE3MZG2NMTB9MTB9.D29XUB8Q9XUB8Q914DJMZNDJMZNDCZTP5DY1X-PKIFAWHRPIFAWHRPIPIPIPIQ9KDUQUQ® 我尝试了urlretrieve

from urllib.request import urlretrieve url='https://tor.assetplanner.com/service_request?ID=230' filename = "changed.pdf"

什么无所作为 我累了urllib请求

import urllib.request url = 'https://imgs.xkcd.com/comics/python.png' urllib.request.urlretrieve(url, fr"C:\Users\location\xkcd_comic.png")

在我发现的示例中从网站上获取时,哪个可以工作,但是当我在网站上尝试时,我想要

import urllib.request url='https://assetplanner.com/files/ServiceRequest/153/changed.jpg?token=#####' urllib.request.urlretrieve(url, fr"C:\Users\location\xattempt.png")
这一个返回14 KB文件,刚刚命名为Xattempt.png

我尝试了请求

import requests url = 'https://tor.assetplanner.com/service_request?ID=616' r = requests.get(url) print(r.json())

并要求另一种方式

import requests url = 'https://assetplanner.com/files/ServiceRequest/230/changed.pdf?token=#####' response = requests.get(url) file_Path = 'research_Paper_1.pdf' if response.status_code == 200: with open(file_Path, 'wb') as file: file.write(response.content) print('File downloaded successfully') else: print('Failed to download file')

并要求另一种方式

import requests url = "https://assetplanner.com/files/ServiceRequest/230/changed.pdf?token=#####" query_parameters = {"downloadformat": "pdf"} response = requests.get(url, params=query_parameters) response.url response.ok response.status_code with open("#####.pdf", mode="wb") as file: file.write(response.content)

,但它们都产生了一个不起作用的14KB文档。 我尝试了wget

import wget
url = 'https://tor.assetplanner.com/service_request?ID=153'
wget.download(url, 'img_#####.jpg')

i最终以14千克img _ #####。jpg

我知道这很困难,但是很明显我在做错什么?  有人知道一种方法吗?
我正在使用python制作一个程序,其中您可以在其中输入报告号,然后将转到这些报告,然后下载文件,PDF或JPG。
我认为这可能与我需要登录有关,公开访问的链接不需要。

看起来这个问题与身份验证需要下载文件有关。由于文件是登录的后面,因此您需要首先对会话进行身份验证,然后使用该会话来提出文件请求。您需要将登录凭据发送到网站并维护一个会话以存储cookie(这样,您可以在发布文件请求时登录)。一旦您登录,请使用该会话发送文件的请求。
使用请求库:

# Start a session to maintain cookies session = requests.Session() # Login to the website login_url = 'https://assetplanner.com/login' login_data = { 'username': 'your_username', 'password': 'your_password' } login_response = session.post(login_url, data=login_data) if login_response.ok: print("Login successful!") else: print("Login failed!") # Now, download the file using the session file_url = 'https://assetplanner.com/files/ServiceRequest/616/img_20241021093256.jpg?token=#####' response = session.get(file_url) if response.status_code == 200: with open('downloaded_image.jpg', 'wb') as file: file.write(response.content) print("File downloaded successfully!") else: print(f"Failed to download file. Status code: {response.status_code}")

这将在会话中维护您的登录并允许您下载文件。 我希望这会有所帮助!
    

python file download
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.