#目前学的爬虫还有潭州教育的直播课,都是千篇一律的requests urllib 下面这个也是,还没有我后面的下载网易云歌单爽来都用到多线程了不过可以用协程,完全异步
1 #!/usr/bin/env/python
#-*-coding:utf-8-*- '''
2018-5-9 20:16:57
下次查明原因
不会知道为什么报错
2018-5-10 19:32:39开始重新看视频
把那个代码删了重新编码一下
一切运行成功
代码没错应该是网站封我ip了 还是很不错的
py爬虫还是很强大的
2018-5-10 21:12:37
'''
import requests #这个是访问http协议的模块
from urllib.request import urlopen,urlretrieve,urljoin,Request
import time #尽量来点休眠
import re url = 'http://www.mm131.com/xinggan/' def get_img(url,path,ref):
#url: jpg地址图像真正的地址
#path: 图像下载之后保存的路径
#ref: 图像的ref值
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
'Referer':ref
}
req = Request(url=url,headers=headers)
res = urlopen(req).read()
with open(path,'wb') as fp:
fp.write(res) def download(home_url):
#一级列表页面
html = requests.get(home_url).content.decode('gbk')
urls = re.findall('list_6_[0-9]+.html',html) #相对路径
urls = [urljoin(home_url,url) for url in urls] # 二级列表页
#http://www.mm131.com/qingchun/3982.html
urls_2 =[]
for url in set(urls):#从一级列表页下面去出来每一个链接
html = requests.get(url).content.decode('gbk')
for i in re.findall('http://www.mm131.com/xinggan/[0-9]+.html',html):
urls_2.append(i)
print(urls_2)
# 三级列表页
#3961_3.html
urls_3 = []
for url in set(urls_2):
html = requests.get(url).content.decode('gbk')
for i in re.findall('[0-9_]+.html',html):
urls_3.append(i) pic_url = {}#key值唯一.不需要额外去重
# 字典中:
# key: 图像地址
# value: Referer值
# ..jpg:...3333_1.html
# 从这个一个个的图片展示页面下提取真正的图片地址.jpg
for url in set(urls_3):
# http://img1.mm131.me/pic/3961/2.jpg
# http://img1.mm131.me/pic/3961/3.jpg
# http://img1.mm131.me/pic/[0-9]+/[0-9]+.jpg
html = requests.get(url).content.decode('gbk')
try:
i = re.findall('http://img1.mm131.me/pic/[0-9]+/[0-9]+.jpg', html)[0]
except:
print("[Error] 无效的链接:", url)
else:
pic_url[i] = url
# 从展示页面下,右键是可以看到的
# 但是直接通过url链接去访问就是不行的
# 防盗链
index = 0
for url in pic_url:
# key: 下载地址
# value: ref值
print('[+] 当前下载%d张:%s' % (index, url))
get_img(url=url, path=str(index) + '.jpg', ref=pic_url[url])
index += 1 download(url)

day_5.10py 爬妹子图片 mm131的更多相关文章

  1. Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)

    这道题是一道爬虫练习题,需要爬链接http://tieba.baidu.com/p/2166231880里的所有妹子图片,点进链接看一下,这位妹子是日本著名性感女演员--杉本由美,^_^好漂亮啊,赶紧 ...

  2. 用python爬取全网妹子图片【附源码笔记】

    这是晚上没事无聊写的python爬虫小程序,专门爬取妹子图的,养眼用的,嘻嘻!身为程序狗只会这个了! 废话不多说,代码附上,仅供参考学习! """ 功能:爬取妹子图全网妹 ...

  3. Python爬虫-萌妹子图片

    最近发现一个可以看图的地方,一张张翻有点累,毕竟只有一只手(难道鼠标还能两只手翻?).能不能下到电脑上看呢,毕竟不用等网速,还可以预览多张,总之很方便,想怎么就怎么,是吧? 刚好这几天在学python ...

  4. Python3+selenium+BaiduAI识别并下载花瓣网高颜值妹子图片

    一.说明 1.1 背景说明 上周在“Python3使用百度人脸识别接口识别高颜值妹子图片”中自己说到在成功判断颜值后,下截图片并不是什么难点. 直观感觉上确实如此,你判断的这个url适不适合下载,适合 ...

  5. Python3+BaiduAI识别高颜值妹子图片

    一.在百度云平台创建应用 为什么要到百度云平台创建应用,首先来说是为了获取获取access_token时需要的API Key和Secret Key 至于为什么需要API Key和Secret Key才 ...

  6. 爬取mzi.com妹子图片网站(requests库)

    看了崔大佬的文章,写了这个爬虫,学习了!原文地址 现在该网站加了反爬机制,不过在headers里加上refere参数就行了. 以下代码仅做学习记录之用: from bs4 import Beautif ...

  7. Python爬取全站妹子图片,差点硬盘走火了!

    在这严寒的冬日,为了点燃我们的热情,今天小编可是给大家带来了偷偷收藏了很久的好东西.大家要注意点哈,我第一次使用的时候,大意导致差点坏了大事哈! 1.所需库安装 2.网站分析 首先打开妹子图的官网(m ...

  8. python爬虫–爬取煎蛋网妹子图片

    前几天刚学了python网络编程,书里没什么实践项目,只好到网上找点东西做. 一直对爬虫很好奇,所以不妨从爬虫先入手吧. Python版本:3.6 这是我看的教程:Python - Jack -Cui ...

  9. scrapy框架爬取妹子图片

    首先,建立一个项目#可在github账户下载完整代码:https://github.com/connordb/scrapy-jiandan2 scrapy startproject jiandan2 ...

随机推荐

  1. 奇怪吸引子---LorenaMod1

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  2. Android关于log日志,华为不输出log.v,log.d(zz)

    [java] view plain copy 我用的是mate8,本来虚拟机测试一点日志一点问题没有 [java] view plain copy 但是真机测试发现log.d一直不输出,正好又试了lo ...

  3. MongoDB学习笔记(一)安装配置

    文档存储:文档存储一般用类似json的格式存储,存储的内容是文档型的. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON ...

  4. (转)Render Path

    Render Path定义Render Path,就是采取的光照流程. Render Path设置可以在Edit-> Project Settings->Player 里设定,见下图.也可 ...

  5. 三种方法教你如何用PHP模拟post提交数据

    php模拟post传值在日常的工作中用到的不是很多,但是在某些特定的场合还是经常用到的. 下面,我整理了三种php模拟post传值的方法,file_get_contents.curl和socket. ...

  6. 【ZH奶酪】如何用textgenrnn处理中文

    如何用textgenrnn处理中文 1. 什么是textgenrnn? textgenrnn是建立在Keras和TensorFlow之上的,可用于生成字级别和词级别文本.网络体系结构使用注意力加权来加 ...

  7. producter-consumer 他山之石

    #include <pthread.h> #include <list> using namespace std; template <typename T> cl ...

  8. DxO FilmPack for Mac(胶片模拟效果软件)破解版安装

    1.软件简介    DxO FilmPack 是 macOS 系统上由知名的 DxO Labs 出品的一套胶片模拟效果滤镜,拥有数十种电影风格的滤镜,今天和大家分享最新的版本,支持最新的 PhotoS ...

  9. Linux虚拟文件系统

    从文件 I/O 看 Linux 的虚拟文件系统 1 引言 Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等.通过使用同一套文件 I/O 系统 调用即可对 Linux ...

  10. Netty+MUI从零打造一个仿微信的高性能聊天项目,兼容iPhone/iPad/安卓

    要说到微信,我相信是个人都应该知道,几乎人人都会安装这款社交APP吧,它已经成为了我们生活中不可缺少的一份子. 我记得我上大学那会刚接触Java,做的第一个小项目就是基于J2SE的聊天室,使用Java ...