【2020年春季人教版教科书】爬RM教育出版社提供的电子教材
本帖最后由 twostudy 于 2020-2-13 18:48 编辑# 1.问题说明
**人民教育出版社**为落实疫情防控期间中小学校“停课不停教、不停学”要求,在网上公布了下学期的电子版教材。网址(http://bp.pep.com.cn/jc/)
前段时间我也一直在找相关教材的PDF,奈何质量好的比较少。这是权威发布的版本,质量应该是最好的了,而且涵盖范围广,涵盖**小学、初中、高中到中职**。
下一本当然不过瘾所以当然要多爬几本了,何况还有教师用书。
## 请大家轻点爬,就算都爬下来了,等用的时候应该都改版了。
# 2.Python程序
#### 这里就放一个函数接口,如《小学道德与法治教科书》地址为(http://bp.pep.com.cn/jc/ywjygjkcjc/xdjc/)
#### 只需要(/ywjygjkcjc/xdjc/)就行了
```Python
import requests
from tqdm import tqdm
from bs4 import BeautifulSoup
import os
def bookDown(url):
#获取当前工作目录
saveDirectory = os.getcwd()
#页面获取与解析
rootURL ='http://bp.pep.com.cn/jc'+url
bookHtml = requests.get(rootURL)
bookHtml.encoding = 'UTF-8'
htmlsoup = BeautifulSoup(bookHtml.text,'lxml')
#创建存放文件夹
directoryName = htmlsoup.find('h4')
saveDirectory = saveDirectory+'\\'+str(directoryName.string)
if not os.path.exists(saveDirectory):
os.makedirs(saveDirectory)
#PDF的文件名和绝对地址
bookName = htmlsoup.find_all('h6')
bookSubUrl = htmlsoup.find_all('a', attrs={'class':'btn_type_dl'}, href = True)
#下载页面所有PDF教材
bookNum = len(bookName)
for index in range(bookNum):
pdfName = saveDirectory+'\\'+bookName.string+'.pdf'
pdfDownloadUrl = rootURL+bookSubUrl['href']
getPdf = requests.get(pdfDownloadUrl)
content_size = int(int(getPdf.headers['Content-Length'])/1024)
print(pdfName)
pdfFile = open(pdfName,'wb')
for data in tqdm(iterable=getPdf.iter_content(1024),total=content_size,unit='k',desc=pdfName):
pdfFile.write(data)
pdfFile.close()
```
# 3.感谢
#### 1.第一次发帖,请大家多批评
#### 2. 感谢 @天空宫阙ai酸的博文 等大佬和同好,从他们的代码学习了很多。
网站本身提供了PDF下载的 dazhuangzhuang 发表于 2020-2-13 20:27
是的很方便点击下载 idm就出来上班了 pdf文档就获得了 想下载那个就下载那个 楼主也是实在没有东西可以发了啊。。这些都是小学APP上发的{:1_925:} 怎么我下的都是WORD文档,不一样啊 dazhuangzhuang 发表于 2020-2-13 19:00
网站本身提供了PDF下载的
没看到有pdf提供。 哦,更新了,我前几天下的不是这样,都是散装WORD 厉害了感谢分享 刚好用得上,感谢分享 迅雷下载也是可以的。还有你全部爬好,百度分享就好啊。 hacklr 发表于 2020-2-13 19:07
没看到有pdf提供。
https://attach.52pojie.cn//forum/202002/13/202730gplpnoyyowr9wcbw.png?l