技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 56|回复: 0
收起左侧

【爬虫】利用python批量爬取人民教育出版社电子教材

[复制链接]

37

主题

184

帖子

1851

积分

用户组: 管理员

UID
8
精华
1
威望
14 点
宅币
1610 个
贡献
24 次
宅之契约
0 份
在线时间
259 小时
注册时间
2014-1-27
发表于 2020-6-21 01:20:11 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?立即注册→加入我们

x
爬取完成:
QQ截图20200621011408.jpg

示例代码:
[Python] 纯文本查看 复制代码
# coding:utf-8
'''
    批量下载人民教育出版社电子教材(根据个人电脑环境参数设定)
'''
import requests
import re

# -- 参数设定 ------------------------------------------------------------------------------------------
pageBegin = 758857                                  # 起始页码
pageEnd = 758828                                    # 截止页码
path = "C:\\Users\\hkcmd\\Desktop\\path\\"          # 自定义桌面路径,需要事先创建path文件夹
rootA = "http://old.pep.com.cn/gzsx/jszx_1/czsxtbjxzy/qrzptgjzxjc/dzkb/decxza/201008"   # 爬取Url根路径
# -- 结束设定 ------------------------------------------------------------------------------------------

pattern1 = re.compile("<IMG.*>", re.M)
pattern2 = re.compile("/.*jpg", re.M)
num = pageBegin - pageEnd + 1          # 页数
rootB = "http://old.pep.com.cn"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'}

for i in range(num):
    file = "/t20100826_" + str(pageBegin - i) + ".htm"
    pageUrl = rootA + file
    r = requests.get(pageUrl, headers = headers)
    if r.status_code == 200:
        imgStr = re.search(pattern1, r.text)
        srcStr = re.search(pattern2, imgStr.group()).group()
        if re.search('\"', srcStr) == None:
            imgUrl = rootB + srcStr
        else:
            srcStrx = re.search('/.*\"', srcStr).group()[0:-1]
            imgUrl = rootA + srcStrx
        img = requests.get(imgUrl, headers = headers)
        open(path + 'img' + str(i) + '.jpg', 'wb').write(img.content) # 将内容写入图片
    else:
        print(r.status_code)
print("done")
回复

使用道具 举报

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图  

GMT+8, 2020-7-13 14:31 , Processed in 0.093828 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表