看到网上一篇很有意思的文章说爬虫与反爬虫就是套路与反套路,初学爬虫,好像确实有这么点体会。因个人工作需要,想从网上爬一些美女图片当配图,于是搜到了煎蛋网。最早煎蛋网url采用页数命名,类似于http://jandan.net/ooxx/page-9#comments,能够直接进行推测,后来改成了某种规则生成的随机码,类似于http://jandan.net/ooxx/MjAyMDA0MjAtMTky#comments,初学爬虫套路不深的我对此束手无措,虽然通过大量观察摸索到了随机码的一点规律,但是并不能保证爬完整个网站。

从网上百度果然找到了更好的思路,简直妙哉。煎蛋网每一页都有【下一页】按钮,知道第一页的url,提取出下一页的url,如此递归下去,不就能爬取全站了吗。真是被自己蠢到了。代码如下,改自某热心网友,抱歉没保存原博文链接,就不引用了,类似的思路有好几篇。

import requests
import os
from bs4 import BeautifulSoupdef get_soup(url):r = requests.get(url, headers=headers)return BeautifulSoup(r.text, "lxml")def download_this_page(soup):global img_idfor link in soup.find_all('a', {'class': 'view_img_link'}):img_url = link.get('href')with open('{}{}.jpg'.format(download_dir, img_id), 'wb') as f:f.write(requests.get('http:' + img_url).content)print(img_id)img_id += 1if __name__ == '__main__':download_dir = 'D:\\jandan\\'if not os.path.exists(download_dir):os.mkdir(download_dir)img_id = 1    # 使用数字为下载图片命名max_page = 150   # 指定爬取页数url = 'http://jandan.net/ooxx/'headers = {'referer': 'http://jandan.net/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}for i in range(max_page):soup = get_soup(url)download_this_page(soup)#获取下一页的urlurl = 'http:' + soup.find('a', {'class': 'previous-comment-page'}).get('href')

不能提前获取某一页的url,就意味着不能用多线程对不同页并行处理了,但仍然可以把获取到的图片url先保存在队列中,然后采用多线程下载

Python爬取煎蛋网图片相关推荐

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

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

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

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

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

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

  4. python爬取煎蛋网妹子图

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

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

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

  6. Python 爬取煎蛋网随手拍

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

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

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

  8. scrapy从安装到爬取煎蛋网图片

    下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ pip install wheel pip install lxml pip install pyop ...

  9. python爬取煎蛋网妹子图,已解密图片~~~~~

    本来想爬一波无聊图,唉,竟然加密了.... 还好是base64 不说了,代码献上 2018.12.14 有效..... import requests from bs4 import Beautifu ...

  10. 利用C#爬取煎蛋网图片

    本程序还有待优化,我只爬取了每个页面的第一张图片,你们可以自己更新优化代码以实现全站爬取的功能. 主要用到的命名空间有: using System; using System.Collections. ...

最新文章

  1. LeetCode-笔记-231-2的幂
  2. android去掉button默认的点击阴影
  3. 【Transformer】ACMix:On the Integration of Self-Attention and Convolution
  4. 使用WebLogic共享库连续交付ADF应用程序
  5. C语言oj中a b怎么做,【HDUOJ】第1002题 A + B Problem II 纯C语言解法
  6. Ubuntu 安装截图工具Shutter,并设置快捷键 Ctrl+Alt+A
  7. Domino下实现仿Google搜索提示效果
  8. Java Socket文件上传
  9. UOJ #357. 【JOI2017春季合宿】Sparklers
  10. Mac x 10.12.4 如何安装sshfs
  11. matlab2016b慢,Matlab 2016a/b中调用GPU速度巨慢的解决办法
  12. 笔画输入法6.8豪华版 破解版
  13. AutoCAD2006软件下载AutoCAD2006安装方法
  14. 软件设计师——数据流图
  15. 西门子博途1200码垛机、立体仓库程序(带注释),程序应用到 变频器、触摸屏、步进电机、工业机器人、视觉相机。
  16. 阿里云的ACA认证到底是个啥?有用吗?
  17. Java进阶——Java中的字符串常量池
  18. mongodb的分组求和(使用aggregate方法)
  19. Vue3 Echarts散点图+高德地图+卫星地图(一)——获取高德地图API
  20. 毛永胜计算机教师,中等职业学校网络计算机技术与应用

热门文章

  1. Python实现qq邮箱自动登录
  2. python lncrna_[转载]lncrna分析流程
  3. dns被劫持怎么办,什么是dns劫持,有什么方法处理?
  4. web工程师的自我修养
  5. 《Python机器学习基础教程》官方中文PDF+英文PDF+源代码 (张亮译)
  6. 【解决方案】网络异常流量突发分析
  7. V831学习日记之串口通信
  8. API MISUSE: <CBPeripheralManager: 0x282c00070> can only accept this command while in the powered on
  9. 部署blog的时候,出现了以下错误
  10. 配置aconda_重装windows系统后配置Anaconda