如果说一个人够无聊的话。。。

就会做一些十分美(wei)丽(suo)的事情啦哈哈哈。。。

好的,话不多说,进入正题。

正如标题所示,我们今天的目标很简单:

代码要少,妹子要好。

步骤如下:

1. 首先我们得确定需要用到的库:

就requests吧,我们首先尝试向煎蛋(http://jiandan.net/ooxx)发起get请求

(当然心里希望不需要加头部信息巴拉巴拉一堆东西。。。)

  1. import request
  2. url = 'http://jandan.net/ooxx'
  3. r = request.get(url)
  4.  
  5. print r.status_code,r.content

看见200我就很高兴,输出页面也很正常

没想到还一步到位了,不需要做任何多余工作

(内心表示疑惑,煎蛋没有防爬机制吗?给面子!)

2. 接下来就要分析html:

其实目的就是img嘛,我发现结构很简单,正则表达式这么写就行了:

  1. pic_url = re.findall('<img src="//(.*?)" /></p>',r.content)

(可以print试试,发现并没有多余的图片)

3. 接下来就是分析页码:

我发现页码也没做什么特别的处理,完全是url提交页码信息

于是只要写一个循环满足这个url就行了:

  1. for i in range(,):
  2. 2 url = 'http://jandan.net/ooxx/page-'+str(i)+'#comments'

(一共230页,应该是删过了。。。)

4. 接着就把抓图片url做一个函数,然后进行多线程处理即可:

  完整代码:

  1. #coding=utf-
  2. import requests
  3. import re
  4. import thread
  5. import time
  6.  
  7. def get_pic_url(url):
  8. r = requests.get(url)
  9.  
  10. pic_url = re.findall('<img src="//(.*?)" /></p>',r.content)
  11.  
  12. for i in pic_url:
  13. print i
  14.  
  15. def main():
  16.  
  17. for i in range(,):
  18.  
  19. url = 'http://jandan.net/ooxx/page-'+str(i)+'#comments'
  20. thread.start_new_thread(get_pic_url,(url,))
  21. time.sleep(0.1)
  22. #一定要加上time.sleep()不然不能成功运行!!!!!!
  23.  
  24. if __name__ == '__main__':
  25. main()

在thread处理多线程的时候,循环内一定要加上time.sleep(),不然会很惨,比如停止工作巴拉巴拉。。。

好啦,这样我们就轻松获得所有妹子图片url,一共五千张不到,咱就不再urllib下载了,估计也有个几个g

能这么少代码解决也是拖了煎蛋良好的给你爬机制的福,爽!20行代码!

python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库的更多相关文章

  1. 如何用Python统计《论语》中每个字的出现次数?10行代码搞定--用计算机学国学

    编者按: 上学时听过山师王志民先生一场讲座,说每个人不论干什么,都应该学习国学(原谅我学了计算机专业)!王先生讲得很是吸引我这个工科男,可能比我的后来的那些同学听课还要认真些,当然一方面是兴趣.一方面 ...

  2. 【Python】300行代码搞定HTML模板渲染

    一.前言 模板语言由HTML代码和逻辑控制代码组成,此处@PHP.通过模板语言可以快速的生成预想的HTML页面.应该算是后端渲染不可缺少的组成部分. 二.功能介绍 通过使用学习tornado.bott ...

  3. python入门机器学习,3行代码搞定线性回归

    本文着重是重新梳理一下线性回归的概念,至于几行代码实现,那个不重要,概念明确了,代码自然水到渠成. “机器学习”对于普通大众来说可能会比较陌生,但是“人工智能”这个词简直是太火了,即便是风云变化的股市 ...

  4. 10分钟教你用python 30行代码搞定简单手写识别!

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...

  5. python实现统计你一共写了多少行代码

    程序员要保证一定的代码量就必须勤奋的敲代码,但怎么知道自己一共写了多少代码呢,笔者用python写了个简单的脚本,遍历所有的.java,.cpp,.c文件的行数,但是正如大家所知,java生成了许多代 ...

  6. python交换两个变量的值,一句代码搞定

    a = 10 b = 20 # 不需要中间变量,一步搞定 a, b = b, a

  7. 【python3】Python十行代码搞定文字转语音

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:万能搜吧 都是copy的百度SDK文档,简单说说怎么用. 1.没安装Py ...

  8. 教你用python爬取网站美女图(附代码及教程)

    我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...

  9. python 爬取京东手机图

    初学urllib,高手勿喷... import re import urllib.request #函数:每一页抓取的30张图片 def craw(url,page): imagelist = []# ...

随机推荐

  1. arcgis api for js入门开发系列十一地图统计图

    上一篇实现了demo的叠加SHP图层,本篇新增地图统计图,截图如下: 地图统计图实现的思路如下:利用拓展arcgis api的js文件(MapChartGraphic.js以及MapChartGrap ...

  2. 教你轻轻松松入门PHP

    入门PHP不用愁,跟我来学一学. 1.我们想学习PHP,首先就要了解PHP,那PHP是什么呢? PHP("PHP: Hypertext Preprocessor",超文本预处理器的 ...

  3. 使用PHP二维码生成类库PHP QR Code生成二维码

    <?php include 'phpqrcode.php'; $value = 'http://www.helloweba.com'; //二维码内容 $errorCorrectionLevel ...

  4. 调用phprpc的时候出现Fatal error: Cannot redeclare gzdecode()

    出现这个问题的原因是:php在5.4版本后,已经自包含了gzdecode()函数,开发者自己定义的gzdecode()函数会与其冲突. 在 ....\phpRPC\compat.php文件的第72行( ...

  5. [leetcode-606-Construct String from Binary Tree]

    You need to construct a string consists of parenthesis and integers from a binary tree with the preo ...

  6. CSS样式表之常用文本属性

    断更了两周了,因为纠结之后在学java啦,但是还是要把学过的前端知识更完 以下的一些文本属性是CSS最常用的属性: [长度单位]:px(像素) [颜色单位]: 十六进制:#ffffff 分别对应红绿蓝 ...

  7. 最近学习java时的记录

    1.java 的变量一共分为三种,类变量,局部变量,成员变量 类变量就是 加static修饰符的变量 2.java 的修饰符可分为两大类,一 可访问修饰符 protected private publ ...

  8. 几个SQL语句(备忘)

    1.三涨停 select biao1.代码,biao1.名称 from biao1,biao2,biao3 where (biao1.涨幅+ biao2.涨幅+biao3.涨幅)>0.27 an ...

  9. PHP实现跨域解决方法

    如果要实现跨域通过设置Access-Control-Allow-Origin来实现跨域. 例如:客户端的域名是client.runoob.com,而请求的域名是server.runoob.com. 如 ...

  10. Java虚拟机:内存模型详解

    版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 我们都知道,当虚拟机执行Java代码的时候,首先要把字节码文件加载到内存,那么这些类的信息都存放在内存中的哪个区域呢?当我们创建一个对象实 ...