python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库
如果说一个人够无聊的话。。。
就会做一些十分美(wei)丽(suo)的事情啦哈哈哈。。。
好的,话不多说,进入正题。
正如标题所示,我们今天的目标很简单:
代码要少,妹子要好。
步骤如下:
1. 首先我们得确定需要用到的库:
就requests吧,我们首先尝试向煎蛋(http://jiandan.net/ooxx)发起get请求
(当然心里希望不需要加头部信息巴拉巴拉一堆东西。。。)
- import request
- url = 'http://jandan.net/ooxx'
- r = request.get(url)
- print r.status_code,r.content
看见200我就很高兴,输出页面也很正常
没想到还一步到位了,不需要做任何多余工作
(内心表示疑惑,煎蛋没有防爬机制吗?给面子!)
2. 接下来就要分析html:
其实目的就是img嘛,我发现结构很简单,正则表达式这么写就行了:
- pic_url = re.findall('<img src="//(.*?)" /></p>',r.content)
(可以print试试,发现并没有多余的图片)
3. 接下来就是分析页码:
我发现页码也没做什么特别的处理,完全是url提交页码信息
于是只要写一个循环满足这个url就行了:
- for i in range(,):
- 2 url = 'http://jandan.net/ooxx/page-'+str(i)+'#comments'
(一共230页,应该是删过了。。。)
4. 接着就把抓图片url做一个函数,然后进行多线程处理即可:
完整代码:
- #coding=utf-
- import requests
- import re
- import thread
- import time
- def get_pic_url(url):
- r = requests.get(url)
- pic_url = re.findall('<img src="//(.*?)" /></p>',r.content)
- for i in pic_url:
- print i
- def main():
- for i in range(,):
- url = 'http://jandan.net/ooxx/page-'+str(i)+'#comments'
- thread.start_new_thread(get_pic_url,(url,))
- time.sleep(0.1)
- #一定要加上time.sleep()不然不能成功运行!!!!!!
- if __name__ == '__main__':
- main()
在thread处理多线程的时候,循环内一定要加上time.sleep(),不然会很惨,比如停止工作巴拉巴拉。。。
好啦,这样我们就轻松获得所有妹子图片url,一共五千张不到,咱就不再urllib下载了,估计也有个几个g
能这么少代码解决也是拖了煎蛋良好的给你爬机制的福,爽!20行代码!
python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库的更多相关文章
- 如何用Python统计《论语》中每个字的出现次数?10行代码搞定--用计算机学国学
编者按: 上学时听过山师王志民先生一场讲座,说每个人不论干什么,都应该学习国学(原谅我学了计算机专业)!王先生讲得很是吸引我这个工科男,可能比我的后来的那些同学听课还要认真些,当然一方面是兴趣.一方面 ...
- 【Python】300行代码搞定HTML模板渲染
一.前言 模板语言由HTML代码和逻辑控制代码组成,此处@PHP.通过模板语言可以快速的生成预想的HTML页面.应该算是后端渲染不可缺少的组成部分. 二.功能介绍 通过使用学习tornado.bott ...
- python入门机器学习,3行代码搞定线性回归
本文着重是重新梳理一下线性回归的概念,至于几行代码实现,那个不重要,概念明确了,代码自然水到渠成. “机器学习”对于普通大众来说可能会比较陌生,但是“人工智能”这个词简直是太火了,即便是风云变化的股市 ...
- 10分钟教你用python 30行代码搞定简单手写识别!
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 手写笔记还是电子笔记好呢? 毕业季刚结束,眼瞅着2018级小萌新马上就要来了,老腊肉小编为了咱学弟学妹们的学习,绞尽脑汁准备编一套大学秘籍, ...
- python实现统计你一共写了多少行代码
程序员要保证一定的代码量就必须勤奋的敲代码,但怎么知道自己一共写了多少代码呢,笔者用python写了个简单的脚本,遍历所有的.java,.cpp,.c文件的行数,但是正如大家所知,java生成了许多代 ...
- python交换两个变量的值,一句代码搞定
a = 10 b = 20 # 不需要中间变量,一步搞定 a, b = b, a
- 【python3】Python十行代码搞定文字转语音
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:万能搜吧 都是copy的百度SDK文档,简单说说怎么用. 1.没安装Py ...
- 教你用python爬取网站美女图(附代码及教程)
我前几篇文章都是说一些python爬虫库的用法,还没有说怎样利用好这些知识玩一些好玩的东西.那我今天带大家玩好玩又刺激的,嘻嘻!对了,requests库和正则表达式很重要的,一定要学会!一定要学会!! ...
- python 爬取京东手机图
初学urllib,高手勿喷... import re import urllib.request #函数:每一页抓取的30张图片 def craw(url,page): imagelist = []# ...
随机推荐
- arcgis api for js入门开发系列十一地图统计图
上一篇实现了demo的叠加SHP图层,本篇新增地图统计图,截图如下: 地图统计图实现的思路如下:利用拓展arcgis api的js文件(MapChartGraphic.js以及MapChartGrap ...
- 教你轻轻松松入门PHP
入门PHP不用愁,跟我来学一学. 1.我们想学习PHP,首先就要了解PHP,那PHP是什么呢? PHP("PHP: Hypertext Preprocessor",超文本预处理器的 ...
- 使用PHP二维码生成类库PHP QR Code生成二维码
<?php include 'phpqrcode.php'; $value = 'http://www.helloweba.com'; //二维码内容 $errorCorrectionLevel ...
- 调用phprpc的时候出现Fatal error: Cannot redeclare gzdecode()
出现这个问题的原因是:php在5.4版本后,已经自包含了gzdecode()函数,开发者自己定义的gzdecode()函数会与其冲突. 在 ....\phpRPC\compat.php文件的第72行( ...
- [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 ...
- CSS样式表之常用文本属性
断更了两周了,因为纠结之后在学java啦,但是还是要把学过的前端知识更完 以下的一些文本属性是CSS最常用的属性: [长度单位]:px(像素) [颜色单位]: 十六进制:#ffffff 分别对应红绿蓝 ...
- 最近学习java时的记录
1.java 的变量一共分为三种,类变量,局部变量,成员变量 类变量就是 加static修饰符的变量 2.java 的修饰符可分为两大类,一 可访问修饰符 protected private publ ...
- 几个SQL语句(备忘)
1.三涨停 select biao1.代码,biao1.名称 from biao1,biao2,biao3 where (biao1.涨幅+ biao2.涨幅+biao3.涨幅)>0.27 an ...
- PHP实现跨域解决方法
如果要实现跨域通过设置Access-Control-Allow-Origin来实现跨域. 例如:客户端的域名是client.runoob.com,而请求的域名是server.runoob.com. 如 ...
- Java虚拟机:内存模型详解
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 我们都知道,当虚拟机执行Java代码的时候,首先要把字节码文件加载到内存,那么这些类的信息都存放在内存中的哪个区域呢?当我们创建一个对象实 ...