爬取疫情期间免费开放的人教版教材 人教版全套教材 pdf
我是纯小白,写的代码都很傻逼。最后甚至是通过数数创建文件夹的位置。就这两天学了一点爬虫于是就试着做了一下,这个网站没有任何反爬措施,非常适合我们小白。人教版教材网:https://bp.pep.com.cn/jc/
对于文件夹创建,调用idm我也不会,直接模仿大佬的文章。
import requests
import re
import os
# 用于调用CMD命令行
from subprocess import call
url = "https://bp.pep.com.cn/jc/"
idm = "D:\必备软件\Internet Download Manager\IDMan.exe"
data = requests.get(url)
data.encoding = data.apparent_encoding
pat0 = '<div class="container_title_jcdzs2020"><h5>(.*?)</h5></div>'
pat1 = '<li class="fl"><a href="(.*?)" target="_blank">.*?</a></li>'
pat2 = '<li class="fl"><a href=".*?" target="_blank">(.*?)</a></li>'
link = re.findall(pat1, data.text)
filename = re.findall(pat2, data.text)
num = len(link)
print(num)
all = re.findall(pat0, data.text)
def xiazai(num1, num2):
for i in range(num1, num2):
links = url + link[i]
book = requests.get(links)
book.encoding = book.apparent_encoding
DownPath = downpath + "/" + filename[i]
os.makedirs(DownPath)
# 书名
pat3 = '<h6><a href=".*?" target="_blank" title=".*?">(.*?)</a></h6>'
name = re.findall(pat3, book.text)
# 下载链接
pat4 = '<a href="(.*?)" target="_blank" title="下载" class="btn_type_dl">下载</a>'
final = re.findall(pat4, book.text)
for o in range(0, len(name)):
print(url + link[i] + final[o])
print(name[o])
call([idm, '/d', url + link[i] + final[o], '/p', DownPath, '/f', name[o], '/n', '/a'])
call([idm, '/s'])
# 义务教育教科书(小学)15
downpath = "D:/课本" + "/" + all[0]
os.makedirs(downpath)
xiazai(0,15)
# 义务教育教科书(初中)28
downpath = "D:/课本" + "/" + all[1]
os.makedirs(downpath)
xiazai(15,43)
# 义务教育教科书(五·四学制)小学 4
downpath = "D:/课本" + "/" + all[2]
os.makedirs(downpath)
xiazai(43,47)
# 义务教育教科书(五·四学制)初中 8
downpath = "D:/课本" + "/" + all[3]
os.makedirs(downpath)
xiazai(47, 55)
# 特殊教育教科书 7
downpath = "D:/课本" + "/" + all[4]
os.makedirs(downpath)
xiazai(55, 62)
# 普通高中教科书 26
downpath = "D:/课本" + "/" + all[5]
os.makedirs(downpath)
xiazai(62, 88)
# 普通高中课程标准实验教科书 24
downpath = "D:/课本" + "/" + all[6]
os.makedirs(downpath)
xiazai(88, 112)
# 中职教科书 6
downpath = "D:/课本" + "/" + all[7]
os.makedirs(downpath)
xiazai(112, 118)
# 义务教育课程标准汉语教科书(藏族地区使用)
downpath = "D:/课本" + "/" + all[8]
os.makedirs(downpath)
xiazai(118, 120)
我觉得疫情结束后,人教网肯定不会免费分享教材了,所以我就全部下载了。
如果想要使用这段代码,必须下载idm,重新设置好你安装idm的路径。然后打开idm,运行代码就可以了。


没想到好多人找我要,如果需要可以关注我的公众号 嘉琪coder,回复 人教版 。

共 9.72GB,587本全套。

浙公网安备 33010602011771号