问题描述

在B站看[小甲鱼]零基础入门学习PythonP57集时遇到了一些问题,现在煎蛋网的的图片每一页的网址和视频里的不太一样,看弹幕有的说能爬,有的说不能爬,也没有标明日期,当时挺懵逼的,不知道该怎么办,硬着头皮看到最后,发现有弹幕说是用了base64加密,其它弹幕反响不错,感觉挺靠谱的,就百度了一下,最后终于成功爬取。小甲鱼的视频看到这里,这应该是第一个让我小有成就的实例,在这里分享给大家,希望和我遇到同样问题的朋友都能完成并继续学习下去,加油诸位。
具体参考了这篇文章https://blog.csdn.net/qq_45859272/article/details/107707560。

代码实现

# date 2021/1/15 - 20:13
import urllib.request
import time
import base64
import osdef url_open(url):req = urllib.request.Request(url)req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')response = urllib.request.urlopen(req)html = response.read()return html# 获取当前图片的总页数,返回总页数的字符串
def get_page(url):html = url_open(url).decode('utf-8')a = html.find('current-comment-page') + 23b = html.find(']', a)return html[a:b]# 找到每一页所有图片的网址,返回一个列表
def find_imgs(url):html = url_open(url).decode('utf-8')img_addrs = []a = html.find('img src=')while a != -1:b = html.find('.jpg', a, a + 255)if b != -1:img_addrs.append('http:' + html[a + 9:b + 4])else:b = a + 9a = html.find('img src=', b)return img_addrs# 根据图片网址,写入图片到当前工作目录
def save_imgs(img_addrs):for each in img_addrs:filename = each.split('/')[-1]with open(filename, 'wb') as f:img = url_open(each)f.write(img)'''
这里我并没有把所有图片都放在一个目录下,而是放在了图片对应页数命名的子目录
记得把folder改成自己的!!!
'''
def download_mm(folder=r'C:\Users\Razer\Pictures\OOXX', pages=3):url = 'http://jandan.net/ooxx/'page_num = int(get_page(url))for i in range(pages):'''小甲鱼用page_num-=i没有按顺序访问页面,大家可以写个for循环遍历一下就知道了,之所以能发现也是因为试着用页数当文件名(*^-^*)'''# page_num -= iimgpage = page_num - iimgpath = folder + '\%d' % imgpage# 判断imgpath目录是否存在if not os.path.exists(imgpath):  # 如果不存在则创建os.makedirs(imgpath)os.chdir(imgpath)  # 将imgpath设置为当前工作目录else:  # 如果存在,就跳过,创建下一页的目录continue'''http://jandan.net/ooxx/MjAyMTAxMTYtMTA5#commentsMjAyMTAxMTYtMTA5是对'当前日期—页数'也就是'20210116-109'的base64加密'''s = time.strftime("%Y%m%d-")  # 将当前日期格式化为形如'20210116-'的字符串d = '%d' % imgpagec = s + db = base64.b64encode(c.encode('utf-8')).decode("utf-8")page_url = url + b + '#comments'img_addrs = find_imgs(page_url)save_imgs(img_addrs)  # 会直接在当前工作目录下写入照片,所以不需要再传入文件路径if __name__ == '__main__':download_mm()

B站小甲鱼零基础python视频P57爬取煎蛋网OOXX妹纸图代码修改相关推荐

  1. Python爬取煎蛋网的妹子图

    煎蛋网其中有一个版面,全是好看的小姐姐.本着美女是学习的第一动力的原则,写个程序把小姐姐们都下载下来. URL:http://jiandan.net/ooxx 程序结构 分析目标网页 提取目标信息 将 ...

  2. python学习之 爬取煎蛋网美女图

    用到库 os ,requests, base64 os简单介绍:点这里 requests介绍:点这里 base64介绍:点这里 其中 requests和 base64属于第三方库,需要自己安装 pip ...

  3. python爬取煎蛋网妹子图

    看了小甲鱼的python教学视频,爬取煎蛋网妹子图的代码已经不适用了,网上其它人的代码多有报错,本萌新结合其他人的方法,终于写出一个可行的,在此分享_(:з)∠)_(运行非常慢就是了) import ...

  4. Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  5. python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  6. python爬图代码实例_Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  7. python 爬虫爬取煎蛋网妹子图,我1T的硬盘装满了!

    前言 大家好,这里是「brucepk」爬虫 系列教程.此系列教程以实例项目为材料进行分析,从项目中学习 python 爬虫,跟着我一起学习,每天进步一点点. 煎蛋网站 image 很多朋友都反应学 p ...

  8. python 爬取煎蛋网妹子的图片

    昨晚跑完步,回家看了点小甲鱼的python视频,讲了点爬虫相关知识,于是今天兴致来了,尝试自己写写看,晚上再回去看看他是怎么实现的. 写的过程中发现对于正则表达式这块真是个坑,很多时候都我都是将一些u ...

  9. Python 爬取煎蛋网随手拍

    百度百科对爬虫的定义为:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁, ...

最新文章

  1. 一道比较实用的MySQL面试题:游戏数据充值查询
  2. 牛客网(剑指offer) 第十九题 顺时针打印矩阵
  3. asp.net mysql打包_Asp.net与SQL一起打包部署安装
  4. Angular ng-container元素的学习笔记
  5. Python之爬虫-段子网
  6. 使用Docker容器和Java EE进行持续交付
  7. json php 数组读写_PHP如何将数据写入JSON?
  8. C++socket编程(四):4.1 跨平台封装XTcp类接口
  9. 【LeetCode】【字符串】题号:*344. 反转字符串
  10. PHP计算GPS路书,搜狗地图推出路书功能 免费而智能的GPS
  11. 大学计算机知识竞赛幽默主持词,知识竞赛幽默主持词.docx
  12. c语言根二的连分数,纯循环连分数 与 二次方程的根
  13. office文档转成pdf的两种方案
  14. oracle 信用检查,Oracle EBS 信用(Credit)额度(1)
  15. 涨价、盈利、IPO?共享充电宝没你想象得好过!
  16. 简记_BISS通信协议简介
  17. 浅拷贝和深拷贝(谈谈java中的clone)
  18. 三星华为等推折叠屏手机 这家日本小厂意外发财
  19. 2021-2027全球与中国便携式超高清摄像头市场现状及未来发展趋势
  20. TCP Socket Client 测试工具,并发测试

热门文章

  1. 这是一个只有一句话的木MA
  2. c++11:std::declval、decltype
  3. 优质办公体验,掌上OA一机hold住全场
  4. api-gateway的pom文件
  5. 苹果发布黄色版 iPhone 14,定价 5999 元起;大神李沐被曝离职投身大模型创业;Atlassian 裁员 |极客头条...
  6. printf中的%f
  7. C语言消消乐游戏代码
  8. QGC源码分析——航向规划中航点编辑流程(QGroundControl)
  9. 怎样使PPT自动播放
  10. 【信奥题库 NOIP 2020 在线模拟赛 T4】三元组