爬取流程

  • 从煎蛋网妹子图第一页开始抓取;
  • 爬取分页标签获得最后一页数字;
  • 根据最后一页页数,获得所有页URL
  • 迭代所有页,对页面所有妹子图片url进行抓取;访问图片URL并且保存图片到文件夹。

开始

通过上一篇文章的爬取过程,我们基本上理解了抓取一个网站的大致流程。因为一个网站虽然有很多页,但是大部分网站每一页的HTML标签内容都是相同的。我们只要获取到一页的内容,就可以获得所有页的内容了。那么开始之前,我们来分析一下煎蛋网妹子图页面的URL

第一页的 url:http://jandan.net/ooxx/page-1

第二页:http://jandan.net/ooxx/page-2

最后一页:http://jandan.net/ooxx/page-49

不难发现,煎蛋网的 url 的规律是比较简单的,每一页后面 page 的数字就是几。那么我们可以通过一个循环就可以获得所有的页面 URL 了。但是大家应该想到,这个网站每天都会更新,

所以我们需要通过页面的标签信息让程序自己获得页数,我们访问http://jandan.net/ooxx/这个页面时,就相当于我们直接访问了最后一页。大家可以自己试试看。

爬虫首先第一步就是分析网站 像我现在这种小白 一般就f12还有右键查看源代码就ok了

还有一点 requests返回的是右键源代码那个文件

里面很多东西是没有的 所以就需要兄弟你去分析了

这就是我分析出来的我们需要的东西,然后我们就爬取这个

但是上面给我们的地址并不能访问

因为他是通过base64加密了

Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符。
优点:速度快,ascii字符,肉眼不可理解 
缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合

在python中调用base64库就可以了

import base64
s="Ly93dzMuc2luYWltZy5jbi9tdzYwMC8wMDZYTkVZN2d5MWZ2a2Z3bnBkNGlqMzE4dTFrd2FvZy5qcGc="w=base64.b64decode(s)
print(w)

不多说了我直接上代码 读者可以直接使用  就可以爬煎蛋上面的妹子图片了

from bs4 import BeautifulSoup
import requests
import os #文件操作模块
import base64
import  lxmldef makefile(str):path1=os.getcwd()#获取当前目录位置print("当前目录位置:     "+path1)path1=path1+"//"+strif  not os.path.isdir(path1):print("当前路径不存在文件夹 "+str)os.mkdir(str)print("创建"+str+"photo文件夹成功")else :print("前路径存在文件夹 "+str)print("前路径存在路径 "+path1)return path1
def downphoto(netadress,localadress):# print(os.getcwd())# z="D:\\Python程序\\煎蛋photo\\"z=os.getcwd()+"\\煎蛋photo\\"# print(z)# print("--------------------\n")# print(z1)headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}   re=requests.get(netadress,headers=headers)lo=z+netadress.split("/")[4]f= open(lo,"wb")f.write(re.content)f.close()def test(NextUrl,localadress):headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}  url = NextUrl                       #"https://movie.douban.com/top250"f = requests.get(url,headers=headers,timeout=5) # print(f.content)# print("--------------------------\n")soup = BeautifulSoup(f.content, "lxml")# print(soup)#####获取图片url# print("--------------------------\n")qq=soup.find_all("span",class_="img-hash")# print(soup.title)ImgUrl=[]for i in qq:ImgUrl.append(str(i))# print(i)del qqtemp=[]for i in ImgUrl:     #   uu=base64.b64decode(((i.split(">"))[1]).split("<")[0])#解码base64ww=uu.decode("utf-8")temp.append("http:"+ww)      for i in temp:print("iii:  *"+i+"\n")downphoto(i,localadress) #调用下载图片函数path1=makefile("煎蛋photo")+"\\"for i in range(49):try:url="http://jandan.net/ooxx/page-"+(str)(i+1)+"#comments"   #http://jandan.net/ooxx   http://jandan.net/ooxx/page-41#commentstest(url,path1)except Exception :pass

Python爬虫 煎蛋网全站妹子图爬虫相关推荐

  1. Python爬虫(6):煎蛋网全站妹子图爬虫

    Python爬虫(6):煎蛋网全站妹子图爬虫 上一篇文章中我们抓取了豆瓣图书的数据,如果大家运行成功,并且看到文件夹下的 txt 文件了.是不是有一种刚接触编程,第一次输出Hello world!时的 ...

  2. [Python爬虫]煎蛋网OOXX妹子图爬虫(1)——解密图片地址

    之前在鱼C论坛的时候,看到很多人都在用Python写爬虫爬煎蛋网的妹子图,当时我也写过,爬了很多的妹子图片.后来煎蛋网把妹子图的网页改进了,对图片的地址进行了加密,所以论坛里面的人经常有人问怎么请求的 ...

  3. [Python 爬虫]煎蛋网 OOXX 妹子图爬虫(1)——解密图片地址

    之前在鱼C论坛的时候,看到很多人都在用 Python 写爬虫爬煎蛋网的妹子图,当时我也写过,爬了很多的妹子图片.后来煎蛋网把妹子图的网页改进了,对图片的地址进行了加密,所以论坛里面的人经常有人问怎么请 ...

  4. 用Python下载煎蛋网全站好看的小姐姐!

    转载来自:Python技术 春天到了,春光明媚,鸟语花香,各地都回温了!公园里面的花都开了,这几天都没有心情工作,准备周末出去游山玩水,踏踏青!先用Python爬取一波妹子图,摸摸鱼吧. 导入模块 首 ...

  5. python爬虫——抓取煎蛋网ooxx妹子图的一个小工具

    一点学习成果,仅限学习交流! 一.部分源码: def get_page(html):# 获取下一页链接start1 = str(html).find("Older Comments" ...

  6. python爬虫 煎蛋网妹子图 动态爬虫1

    ------来自某潮汕人的菜鸟教程     爬虫目标网站:http://jandan.net/ooxx     爬虫目标中文名称:煎蛋网 妹子图     爬虫需求:分析js下载 煎蛋网的妹子图     ...

  7. 【Python】煎蛋网XXOO图片抓取

    今天写一个爬虫爱好者特别喜欢的网站煎蛋网http://jandan.net/ooxx,这个网站其实还是有点意思的,网站很多人写了N多的教程了,各种方式的都有,当然网站本身在爬虫爱好者的不断进攻下,也在 ...

  8. Python爬虫实战(四) :下载煎蛋网所有妹子照片

    煎蛋网是一个适合开车的网站,各种妹子福利图片. 网站:http://jandan.net/ooxx 里面有两种格式的图片:gif和jpg,写个程序将所有页面的妹子图全部下载下来. #coding=ut ...

  9. Python爬虫:煎蛋网图片URL解密处理

    转自:https://yukunweb.com/2018/5/jiandan-encryption-processing/?page=1 俞坤的博客 最近一直有朋友问我改版的煎蛋网妹子图怎么爬,因为他 ...

最新文章

  1. Java学习总结:13
  2. 猴子管理法则(网络文摘)
  3. 区块链BaaS云服务(17)纸贵科技Z-BaaS零知识证明
  4. Python__random模块
  5. 回调函数与DOM事件
  6. 计算机PS英语词汇,操作计算机必读(必会)的53个英文单词共享
  7. 1、css引入的方式有哪些?_发泡机的原理都有哪些呢?
  8. Redis:复制,第1部分——概述 复制与分片、哨兵与集群、Redis拓扑
  9. Linux下Nginx+Tomcat整合的安装与配置
  10. 中国 AI 天才养成计划:清华姚班和 100 个「张小龙」
  11. ei加声调怎么加_微商怎么加好友找客源实操篇
  12. 三菱plc pwm指令_三菱PLC高速处理指令编程(新手教学)
  13. RocketMQ ConsumeQueue 消费队列文件
  14. matlab ctradon函数,Radon变换入门matlab CT原理
  15. 学生用计算机隐藏功能,学生计算器怎么去掉d
  16. 第四次作业—四则运算
  17. runauto 病毒
  18. Java语言与C语言的区别
  19. 太赞了!Github上都没有的“网约车”项目!!!
  20. 研发流程——准入体系设计

热门文章

  1. Keras教学(1):Keras是什么
  2. Unity 2d 用两种方式(shader textMeshPro)分别实现文字波浪形态
  3. 思博伦OpenFlow性能测试白皮书上篇
  4. 下载的软件包保存在缓存中,直到下次成功执行事务。 您可以通过执行 'dnf clean packages' 删除软件包缓存。 错误:事务检查错误
  5. 直播平台软件开发的前端如何实现整套视频直播技术流程
  6. KEIL封装lib库
  7. 分布式人工智能:基于TensorFlow RTOS与群体智能体系(文末留言赠书)
  8. 在iPad平板上配置Exchange邮箱
  9. 华为小世界杯来了:从一棵树到一片森林的大赛
  10. Java连接MySQL数据库并进行简单查询