我正在嘗試下載與研究人員相關的所需PDF文件。無法打開下載的PDF文件
但是下載的PDF文件無法打開,說文件可能損壞或格式錯誤。而在測試中使用的另一個URL導致正常的PDF文件。你有什麼建議嗎?
import requests
from bs4 import BeautifulSoup
def download_file(url, index):
local_filename = index+"-"+url.split('/')[-1]
# NOTE the stream=True parameter
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
f.flush()
return local_filename
# For Test: http://ww0.java4.datastructures.net/handouts/
# Can't open: http://flyingv.ucsd.edu/smoura/publications.html
root_link="http://ecal.berkeley.edu/publications.html#journals"
r=requests.get(root_link)
if r.status_code==200:
soup=BeautifulSoup(r.text)
# print soup.prettify()
index=1
for link in soup.find_all('a'):
new_link=root_link+link.get('href')
if new_link.endswith(".pdf"):
file_path=download_file(new_link,str(index))
print "downloading:"+new_link+" -> "+file_path
index+=1
print "all download finished"
else:
print "errors occur."
你真的看過文件內容嗎? –
其實我查了下載鏈接,他們是錯誤的目錄。現在我解決了這個問題,謝謝! 但修復目錄意味着這個程序不能被普遍使用,這是我試圖弄清楚的一個問題。 – ZoeZ