Web抓取以使用python从Web下载pdf文件但获取空白文件

时间:2018-08-02 09:56:31

标签: python web-scraping

我正在尝试使用python从Web下载pdf报告,但是代码最后返回了空白的pdf报告,我可能知道代码有什么问题以及我要去哪里。

============================================

from BeautifulSoup import BeautifulSoup
import urllib2
import re

html_page = urllib2.urlopen("http://www.imd.gov.in/Welcome%20To%20IMD/Welcome.php")
soup = BeautifulSoup(html_page)
b = soup.findAll('a', attrs={'href': re.compile("^http://hydro.imd.gov.in/hydrometweb/")})
c = b[0]['href']
d = c[0:len(c)-12]

e = d + "PdfReportPage.aspx?ImgUrl=PRODUCTS/Rainfall_Statistics/Cumulative/District_RF_Distribution/DISTRICT_RAINFALL_DISTRIBUTION_COUNTRY_INDIA_cd.PDF"

def download_file(download_url):
    response = urllib2.urlopen(download_url)
    file = open("document.pdf", 'w')
    file.write(response.read())
    file.close()
    print("Completed")

download_file(e) 

1 个答案:

答案 0 :(得分:0)

使用二进制模式b

例如:

def download_file(download_url):
    response = urllib2.urlopen(download_url)
    with open("document.pdf", 'wb') as outfile:
        outfile.write(response.read())
    print("Completed")

download_file(e)