微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用python从网站下载书籍

如何解决使用python从网站下载书籍

我正在从网站上下载书籍,几乎我的代码运行流畅,但是当我尝试在PC上打开pdf书籍时。 Adobe Acrobat Reader生成错误,它是不受支持文件类型

Error Image

这是Book格式的图片,我确定我的代码需要更正,因为网站上该书的格式不同于通常的PDF文件

Book Formate Image

代码

import requests
from bs4 import BeautifulSoup
url = 'https://global.oup.com/education/support-learning-anywhere/key-resources-online/?region=international&utm_campaign=learninganywhere&utm_source=umbraco&utm_medium=display&utm_content=support_learning_key_resources&utm_team=int#Primary'

response = requests.get(url)
soup     = BeautifulSoup(response.content,'html.parser')
table_data = soup.find_all('td')

books_url_list = []
for link in table_data:
    books_url = link.find('a')['href']
    books_url_list.append(books_url+'.pdf')
    
book = books_url_list[1]
book_response = requests.get(book)

with open('books.pdf','wb') as f:
    f.write(book_response.content)

`

解决方法

好吧,我检查了网站上的元素,然后找不到“ .pdf”文件。我们可以使用以下链接检查一个书页:https://en.calameo.com/read/000777721d10096b9e9ca?authid=gWc48kAQQoD0&region=international

检查元素后,我发现不是pdf。这只是页面中的图像。

https://p.calameoassets.com/200406174654-2bfa9441783e162c8da42a712feda3e2/p1.svgz

https://p.calameoassets.com/200406174654-2bfa9441783e162c8da42a712feda3e2/p2.svgz

....

https://p.calameoassets.com/200406174654-2bfa9441783e162c8da42a712feda3e2/p98.svgz

以此类推。

因此,您可以编写代码来下载此图像。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。