gpt4 book ai didi

python - 如何使用 python 请求库从 Web 下载 PDF 文件

转载 作者:行者123 更新时间:2023-12-04 02:31:00 35 4
gpt4 key购买 nike

尝试使用 requests 模块从网站下载一些 pdf 文件,但我不断收到下面列出的此错误。我看到几个帖子,他们提到使用 response.content对于 pdf 文件而不是 response.text ,但它仍然会产生错误。不知道如何解决这个问题。
示例链接:https://corporate.exxonmobil.com/-/media/Global/Files/worldwide-giving/2018-Worldwide-Giving-Report.pdf

def scrape_website(link):

try:
print("getting content")
cert = requests.certs.where()
page = requests.get(link, verify=cert, headers={"User-Agent": "Mozilla/5.0 (X11; CrOS x86_64 12871.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36"})

print(page)
if ".pdf" in link:
print("the content is a pdf file. downloading..")


return page.content

return page.text

except Exception as x:
print(x)
return ''

statement_page = scrape_website(link)


with open(filepath, 'w+', encoding="utf-8") as f:
print("writing page")
f.write(statement_page)
f.close()


<ipython-input-42-1e4771d32073> in save_html_page(page, path, filename)
13 with open(filepath, 'w+', encoding="utf-8") as f:
14 print("writing page")
---> 15 f.write(page)
16 f.close()
17

TypeError: write() argument must be str, not bytes

最佳答案

有时我也需要以编程方式下载东西。我只是用这个:

import requests

response = requests.get("https://link_to_thing.pdf")
file = open("myfile.pdf", "wb")
file.write(response.content)
file.close()
您也可以使用 os使用 wget 下载的包:
import os

url = 'https://link_to_pdf.pdf'
name = 'myfile.pdf'

os.system('wget {} -O {}'.format(url,name))

关于python - 如何使用 python 请求库从 Web 下载 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64178665/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com