python爬煎蛋妹子图
# python3
# jiandan meizi tu
import urllib
import urllib.request as req
import os
import time
import random def url_open(url):
req1 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.0'})
req2 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.1'})
req3 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.5'})
req4 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.1'}) req_list = [req1, req2,req3, req4]
response = urllib.request.urlopen(random.choice(req_list))
html = response.read()
# print ('url_open done!')
return html def url_open2(url):
req1 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.0'})
req2 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.1'})
req3 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.5'})
req4 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.1'})
req_list = [req1, req2,req3, req4] ip_list = ['117.135.251.136:82']
ip = random.choice(ip_list)
print (ip) proxy = req.ProxyHandler({'http': ip})
# auth = req.HTTPBasicAuthHandler()
opener = req.build_opener(proxy, req.HTTPHandler)
req.install_opener(opener)
conn = req.urlopen(random.choice(req_list))
return_str = conn.read()
return return_str def get_current_page(url):
html = url_open2(url).decode('utf-8')
a = html.find('current-comment-page') + 23
b = html.find(']',a)
return html[a:b] def find_imgs(url):
html = url_open2(url).decode('utf-8')
img_addrs = []
a = html.find('img src="http')
while a != -1:
b = html.find('.jpg',a, a+255)
if b != -1:
img_addrs.append(html[a+9:b+4])
else:
b = a + 13
a = html.find('img src="http', b)
return img_addrs def save_imgs(folder,img_addrs):
for each in img_addrs:
filename = each.split('/')[-1]
with open(filename,'wb') as f:
img = url_open2(each)
f.write(img) def download_mm(folder = 'xx',pages = 300):
# os.mkdir(folder)
os.chdir(folder) url = 'http://jandan.net/ooxx/'
current_page_num = int(get_current_page(url))
for i in range(pages):
print (time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()),'current_page_num', current_page_num)
if i%3 == 0:
print (time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()),"sleep 2 seconds...")
time.sleep(2)
current_page_num -= 1
page_url = url + 'page-' + str(current_page_num) + '#comments'
img_addrs = find_imgs(page_url)
save_imgs(folder, img_addrs) if __name__ == '__main__':
download_mm()
python爬煎蛋妹子图的更多相关文章
- [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图
第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果 ...
- 手把手教你用Python爬虫煎蛋妹纸海量图片
我们的目标是用爬虫来干一件略污事情 最近听说煎蛋上有好多可爱的妹子,而且爬虫从妹子图抓起练手最好,毕竟动力大嘛.而且现在网络上的妹子很黄很暴力,一下接受太多容易营养不量,但是本着有人身体就比较好的套路 ...
- python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库
如果说一个人够无聊的话... 就会做一些十分美(wei)丽(suo)的事情啦哈哈哈... 好的,话不多说,进入正题. 正如标题所示,我们今天的目标很简单: 代码要少,妹子要好. 步骤如下: 1. 首先 ...
- 「玩转Python」突破封锁继续爬取百万妹子图
前言 从零学 Python 案例,自从提交第一个妹子图版本引来了不少小伙伴的兴趣.最近,很多小伙伴发来私信说,妹子图不能爬了!? 趁着周末试了一把,果然爬不动了,爬下来的都是些 0kb 的假图片,然后 ...
- [Python爬虫]煎蛋网OOXX妹子图爬虫(1)——解密图片地址
之前在鱼C论坛的时候,看到很多人都在用Python写爬虫爬煎蛋网的妹子图,当时我也写过,爬了很多的妹子图片.后来煎蛋网把妹子图的网页改进了,对图片的地址进行了加密,所以论坛里面的人经常有人问怎么请求的 ...
- py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图
0.准备 所用到的模块: urllib.request,获取源码 beautifulsoup4(bs4),网页抓取数据 安装bs4,python3 -m pip install beautiful ...
- python爬虫之一---------豆瓣妹子图
#-*- coding:utf-8 -*- __author__ = "carry" import urllib import urllib2 from bs4 import Be ...
- python 爬虫煎蛋网
import urllib.request import os from urllib import error import re import base64 def url_open(url): ...
- python 爬取图片
使用python的requests库爬取网页时,获取文本一般使用text方法,如果要获取图片并保存要用content 举个栗子,爬煎蛋网的图: #!/usr/bin/env python #-*- c ...
随机推荐
- 关于asp.net和iis的进程/线程问题,假如网站有1000个人访问,会产生多少个进程/线程啊
详解 ASP.NET异步 超好的文章
- 安装Ubuntu 15.10后要做的事
Ubuntu 15.10发布了,带来了很多新特性,同样也依然带着很多不习惯的东西,所以装完系统后还要进行一系列的优化. 1.删除libreoffice libreoffice虽然是开源的,但是Java ...
- FPGA开发心得
创新源于模仿,另一个意思就是,我们需要站在巨人的肩膀上起航. 至芯科技培训注重于“按图施工”,在没有达到这种境界的时候,我们需要有我们自己的思想 我的思想: always 时钟分频 数据接收 上升沿和 ...
- vim时,ctrl+s了一下,程序僵死了
刚刚在用vim的时候,按了ctrl+s,然后僵死了,ctrl+c.ctrl+d都没有反应. 不知怎么回事,差点就把它kill了,想探探究竟,网上查了一下,原来原来,这是个快捷键. ctrl+s 锁定屏 ...
- 《梦断代码》读书笔记第0篇——“软件时间”、“死定了”、“Agenda之魂“
第0章 软件时间 在未读这本书前,刚看到名字觉得是本讲代码的书,后来老师说是一个个的故事,这引起了我的兴趣,于是我便速速开始了第0章的阅读,读完一遍大概能读懂在讲什么,可能由于是译过来的书,书里面一 ...
- 为边框应用图片 border-image
为边框应用图片 border-image 顾名思义就是为边框应用背景图片,它和我们常用的background属性比较相似.例如: background:url(xx.jpg) 10px 20px no ...
- 【转】oracle查询不到表的问题
ORACLE的问题解决:Ora-00942:表或视图不存在 分类: 数据库2006-07-05 00:15 10793人阅读 评论(4) 收藏 举报 oraclesqlmanager 由powerde ...
- MyEclipse2015 编写js报 'Calculating completion proposals..' has encountered a problem.
前言:编写js(按点后)弹出这个鬼东西,百度不到..估计是破解有问题.只有换版本了. 版本:MyEclipse 2015 stable 1.0 详细错误信息 解决:换成2.0版本
- [转]后缀自动机(SAM)
原文地址:http://blog.sina.com.cn/s/blog_8fcd775901019mi4.html 感觉自己看这个终于觉得能看懂了!也能感受到后缀自动机究竟是一种怎样进行的数据结构了. ...
- 【BZOJ】【2661】【Beijing WC2012】连连看
网络流/费用流/二分图最大权匹配 拆点费用流求最大权匹配……为什么我拿zyf和Hzwer的代码也交不过去……WA了那么多次……so sad 求路过的神牛指导啊>_<万分感谢 //BZOJ ...