爬取疫情期间免费开放的人教版教材 人教版全套教材 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本全套。
在这里插入图片描述

posted @ 2021-12-07 18:39  junxiaobai222  阅读(283)  评论(0)    收藏  举报