問題

我正在努力在Python中製作PDF Web Scraper.基本上,我正在嘗試從我的一個課程中刪除所有演講筆記,這是PDF的形式.我想輸入一個url,然後獲取PDF並將其儲存在我的膝上型電腦中的目錄中.我看過幾個教程,但我不完全確定如何做到這一點.StackOverflow上的任何問題似乎都在幫助我.

這是我到目前為止所擁有的:

 import requests
from bs4 import BeautifulSoup
import shutil

bs = BeautifulSoup

url = input("Enter the URL you want to scrape from: ")
print("")

suffix = ".pdf"

link_list = []

def getPDFs():    
    # Gets URL from user to scrape
    response = requests.get(url, stream=True)
    soup = bs(response.text)

    #for link in soup.find_all('a'): # Finds all links
     #   if suffix in str(link): # If the link ends in .pdf
      #      link_list.append(link.get('href'))
    #print(link_list)

    with open('CS112.Lecture.09.pdf', 'wb') as out_file:
        shutil.copyfileobj(response.raw, out_file)
    del response
    print("PDF Saved")

getPDFs()
 

最初,我已經獲得了與 PDF 的所有連結,但不知道如何下載它們;這個程式碼現在已經註釋掉了。

現在我已經到了我正在嘗試下載一個PDF的地方;並且PDF確實下載了,但它是一個0kb檔案.

如果它有任何用途,我正在使用Python 3.4.2

  最佳答案

如果這是不需要登入的東西,您可以使用 urlretrieve() :

 from urllib.request import urlretrieve

for link in link_list:
    urlretrieve(link)
 

  相同標籤的其他問題

pythonpdfweb-scrapingbeautifulsouppython-requests