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 = []# ...
随机推荐
- View Components as Tag Helpers,离在线模板编辑又进一步
在asp.net core mvc中增加了ViewComponent(视图组件)的概念,视图组件有点类似部分视图,但是比部分视图功能更加强大,它更有点像一个控制器. 使用方法 1,定义类派生自View ...
- PHP获取当前的毫秒值
php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数 1. 函数 mixed microtime ([ bool $get_as_ ...
- android设置横竖屏
android:screenOrientation="portrait"
- jquery操作表格总结
返回表格行 或 列的索引 td是列,tr是行: <script type="text/javascript"> $(document).ready(function() ...
- textarea禁止拖拽
<textarea style="resize:none;" ></textarea>'
- 一起学习c++11——c++11中的新语法
c++11新语法1: auto关键字 c++11 添加的最有用的一个特性应该就是auto关键字. 不知道大家有没有写过这样的代码: std::map<std::string, std::vect ...
- OpenCV学习1-----打开摄像头并在画面上添加水印
一直对视频或者图像添加水印很感兴趣,查找资料后用OpenCV尝试了一下. 记录下来. 1.首先是打开摄像头. 找到OpenCV官方文档给出的例子. 例子中实现的是,打开摄像头,并对画面进行高斯滤波,使 ...
- 10.解决VUEX刷新的时候出现数据消失
通常,我们在使用vue编写页面时,会需要使用vuex在组件间传递(或者说共同响应)同一个数据的变化.例如:用户的登录信息. 下面,我们使用传递用户登录信息的例子来一步步解决这个问题. 首先,我们的第一 ...
- MacTex XeLaTex xdvipdfmx:fatal: pdf_ref_obj(): passed invalid object. 报错的解决方法
在使用MacTex配合TexStudio编译beamer的时候,爆出如下错误, xdvipdfmx:fatal: pdf_ref_obj(): passed invalid object. 结果尝试其 ...
- 处理input标签的border-radius
给input设置border-radius效果时一定要先设置border属性,否则会出现左上部有阴影的效果.