我正在尝试下载https://occ.ca/our-publications
我的最终目标是解析PDF文件中的文本并定位某些关键字。
到目前为止,我已经能够抓取所有页面上PDF文件的链接。我已将这些链接保存到列表中。现在,我想浏览一下列表并用Python下载所有pdf文件。下载完文件后,我想对它们进行解析。
这是我迄今为止使用的代码:
import requests
from bs4 import BeautifulSoup
import lxml
import csv
# This code adds all PDF links into a list called
#"publications".
publications=[]
for i in range(19):
response=requests.get('https://occ.ca/our-
publications/page/{}/'.format(i), headers={'User-
Agent': 'Mozilla'})
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'lxml')
pdfs = soup.findAll('div', {"class":
"publicationoverlay"})
links = [pdf.find('a').attrs['href'] for pdf in pdfs]
publications.append(links)
import urllib.request
for x in publications:
urllib.request.urlretrieve(x,'Publication_{}'.format(range(213)))
这是我运行代码时遇到的错误。
回溯(最近的最后一次调用):urllib中的文件“C:\Users\plumm\AppData\Local\Programs\Python\Python37\m.py”,第23行。要求urlretrieve(x,'Publication\uu{}.pdf'。格式(范围(213)))文件“C:\Users\plumm\AppData\Local\Programs\Python\Python37\lib\urllib\request.py”,第247行,在urlretrieve with contextlib中。在urlopen return opener中,以fp:File“C:\Users\plumm\AppData\Local\Programs\Python\Python37\lib\urllib\request.py”的形式关闭(urlopen(url,data)),第222行。打开(url,数据,超时)文件“C:\Users\plumm\AppData\Local\Programs\Python\Python37\lib\urllib\request.py”,第531行,在open response=meth(req,response)文件“C:\Users\plumm\AppData\Local\Programs\Python\Python37\lib\urllib\request.py”中的http响应“http”,请求,响应,代码,消息,hdrs”文件“C:\Users\plumm\AppData\Local\Programs\Python\Python37\lib\urllib\request.py”中的第641行,第569行,返回self时出错_call\u chain result=func(*args)文件“C:\Users\plumm\AppData\Local\Programs\Python\Python37\lib\urllib\request.py”中的第503行,http\u error\u default raise HTTPError(req.full\u url,code,msg,hdrs,fp)urllib中的C:\Users\plumm\AppData\Local\Programs\Python37\lib\urllib\request.py。错误HTTPError:HTTP错误403:禁止
你能告诉我错误所在的行号吗?
请尝试:
import requests
from bs4 import BeautifulSoup
import lxml
import csv
# This code adds all PDF links into a list called
#"publications".
publications=[]
for i in range(19):
response=requests.get('https://occ.ca/our-
publications/page/{}/'.format(i), headers={'User-
Agent': 'Mozilla'})
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'lxml')
pdfs = soup.findAll('div', {"class":
"publicationoverlay"})
links = [pdf.find('a').attrs['href'] for pdf in pdfs]
publications.extend(links)
for cntr, link in enumerate(publications):
print("try to get link", link)
rslt = requests.get(link)
print("Got", rslt)
fname = "temporarypdf_%d.pdf" % cntr
with open("temporarypdf_%d.pdf" % cntr, "wb") as fout:
fout.write(rslt.raw.read())
print("saved pdf data into ", fname)
# Call here the code that reads and parses the pdf.
我正在寻找一种在python中下载pdf文件的方法,我看到了关于推荐urllib模块的其他问题的答案。我试图用它下载一个pdf文件,但是当我试图打开下载的文件时,一条消息显示该文件无法打开。 错误消息 这是我使用的代码- 我做错了什么?此外,该文件会自动保存到python文件所在的目录中。如何更改它保存到的位置? 编辑-我再次尝试使用示例pdf的链接,http://unec.edu.az/appl
问题内容: 我正在尝试使用selenium从网站下载pdf文件,但我能够打开文件,但无法使用代码自动下载。 码: 请提出建议。先感谢您 问题答案: 以上问题现已解决
我正在编写一个python脚本,它将根据URL中给定的格式在本地保存pdf文件。例如。 我正在通过python脚本打开此URL: url包含大量图像和文本。一旦这个URL被打开,我想用python脚本以pdf格式保存一个文件。 这是我到目前为止所做的。 代码1: 代码2: 在上面的代码我得到: urllib2.HTTP错误401:未授权 如果使用代码2,如何传递授权详细信息?
我正在尝试使用Spring Boot RestController下载多个pdf文件。但是由于某种原因,只下载了第一个文件。程序没有抛出任何错误。不确定是什么问题。这需要多部分吗?
我正在使用selenium webdriver自动下载几个PDF文件。我得到PDF预览窗口(见下文),现在我想下载文件。我如何使用谷歌Chrome作为浏览器来实现这一点?
我无法找到正确的方法来实现我的目标,即下载带有java selenium脚本的pdf。