BeautifulSoup下载损坏的PDF

时间:2018-07-11 09:18:14

标签: beautifulsoup

我有一些代码可以从网站下载pdf文件,但是当我下载pdf文件时,它们都已损坏,当我在十六进制编辑器中检查它们时,pdf似乎不包含任何数据。知道为什么吗?

编辑-我发现,如果我单击pdf链接,它将加载,但是如果我尝试在新选项卡中打开或将url粘贴到新选项卡中,将提供空白输出。该链接包含一些javascript

onclick="var win = window.open(this.href,'','');return false;"

代码

pdf_links = []
box_2 = right_div.find_all("div", {"class":"right"})[2]#Contains PDF links
for link in box_2.find_all('a'):
  current_link = link.get('href')
  if current_link.endswith('pdf'):
     pdf_links.append('http://' + set_domain + current_link)

for url in pdf_links:  
    response = requests.get(url)   
    with open(join('C:/Users/Ninja2k/Desktop', basename(url)), 'wb') as f:
        f.write(response.content)

1 个答案:

答案 0 :(得分:0)

在上下文管理器中,请使用f.close()

关闭文件
for url in pdf_links:  
    response = requests.get(url)   
    with open(join('C:/Users/Ninja2k/Desktop', basename(url)), 'wb') as f:
        f.write(response.content)
        f.close()