从 PeerJ 下载 PDF
Download PDF from PeerJ
我正在尝试使用 Python requests
从 PeerJ. For example, https://peerj.com/articles/1.pdf 下载 PDF。
我的代码很简单:
r = requests.get('https://peerj.com/articles/1.pdf')
但是,返回的 Response
对象显示为 <Response [432]>
,表示 HTTP 432 错误。据我所知,该错误代码未分配。
当我检查 r.text
或 r.content
时,有一些 HTML 说这是一个错误 432 并给同一个 PDF 一个 link,https://peerj.com/articles/1.pdf.
我在浏览器中打开 PDF 时可以查看它 (Chrome)。
如何获取实际的 PDF(作为 bytes
对象,就像我应该从 r.content
中获取的那样)?
打开站点时,您提到,我还在我的 firefox 浏览器中打开了开发人员工具,并从那里复制了 http 请求 header,并将其分配给 headers 参数 request.get 函数.
a = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,<em>/</em>;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.5',
'Connection': 'keep-alive',
'Host': 'peerj.com',
'Referer': 'https://peerj.com/articles/1.pdf',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0'}</p>
<p>r = requests.get('https://peerj.com/articles/1.pdf', headers= a)
我正在尝试使用 Python requests
从 PeerJ. For example, https://peerj.com/articles/1.pdf 下载 PDF。
我的代码很简单:
r = requests.get('https://peerj.com/articles/1.pdf')
但是,返回的 Response
对象显示为 <Response [432]>
,表示 HTTP 432 错误。据我所知,该错误代码未分配。
当我检查 r.text
或 r.content
时,有一些 HTML 说这是一个错误 432 并给同一个 PDF 一个 link,https://peerj.com/articles/1.pdf.
我在浏览器中打开 PDF 时可以查看它 (Chrome)。
如何获取实际的 PDF(作为 bytes
对象,就像我应该从 r.content
中获取的那样)?
打开站点时,您提到,我还在我的 firefox 浏览器中打开了开发人员工具,并从那里复制了 http 请求 header,并将其分配给 headers 参数 request.get 函数.
a = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,<em>/</em>;q=0.8',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.5',
'Connection': 'keep-alive',
'Host': 'peerj.com',
'Referer': 'https://peerj.com/articles/1.pdf',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0'}</p>
<p>r = requests.get('https://peerj.com/articles/1.pdf', headers= a)