0
私がしようとしているのは、URLのリストをループして一連の.pdfsをダウンロードし、.zipに保存することです。現時点では、ただ1つのURLを使用してコードをテストしようとしています。私は取得していますERRORは次のとおりです。Pythonが.zipにPDFをダウンロードする
Traceback (most recent call last):
File "I:\test_pdf_download_zip.py", line 36, in <module>
zip_file(zipfile_name, url)
File "I:\test_pdf_download_zip.py", line 30, in zip_file
myzip.write(dowload_pdf(url))
TypeError: expected a string or other character buffer object
誰かが正しく.zipファイルにPDFファイルの要求を渡す方法を知っているだろう(上記のエラーを回避する)私はそれを追加し、またはそれを行うことが可能であるかどうかを知るためにこの?
import os
import zipfile
import requests
output = r"I:"
# File name of the zipfile
zipfile_name = os.path.join(output, "test.zip")
# Random test pdf
url = r"http://www.pdf995.com/samples/pdf.pdf"
def create_zipfile(zipfile_name):
zipfile.ZipFile(zipfile_name, "w")
def dowload_pdf(url):
response = requests.get(url, stream=True)
with open('test.pdf', 'wb') as f:
f.write(response.content)
def zip_file(zip_name, url):
with open(zip_name,'a') as myzip:
myzip.write(dowload_pdf(url))
if __name__ == "__main__":
create_zipfile(zipfile_name)
zip_file(zipfile_name, url)
print("Done")