用python来抓取“煎蛋网”上面的美女图片,尺度很大哦!哈哈
所用Python环境为:python 3.3.2 用到的库为:urllib.request re
废话不多说,先上代码:
import urllib.request
import re #获得当前页面的页数page_name
def get_pagenum(url):
req = urllib.request.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36')
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
p = r'<span class="current-comment-page">[^"]+</span>'
temp = re.search(p,html)
page_num = temp.group()[36:39]
return page_num #将此页面上的图片写入我们的mm文件夹中
def get_img(page_url):
req = urllib.request.Request(page_url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36')
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
p = r'<img src="([^"]+\.jpg)"'
url_list = re.findall(p,html)
num = 0
for each in url_list:
file = open('C:/Users/lenovo/Desktop/mm/'+each[-8:]+'.jpg','wb')
if each[0:5] == 'http:':
res = urllib.request.urlopen(each)
else:
res = urllib.request.urlopen('http:'+each)
file.write(res.read())
file.close() #只能直接运行
if __name__ == '__main__':
url = 'http://jandan.net/ooxx/'
page_num = get_pagenum(url)
for i in range(10): #抓取了十个页面上美女图片
page_url = url + 'page-'+str(page_num)+'#comments'
get_img(page_url)
page_num = int(page_num) - 1 #下面是写正则的时候方便看所以粘贴过来的连接
#<img src="//ws3.sinaimg.cn/mw600/006wUWIjgy1fgxrw8goikj30hs0qodh7.jpg" style="max-width: 480px; max-height: 750px;"> #http://jandan.net/ooxx/page-143#comments #<span class="current-comment-page">[141]</span> # http://wx3.sinaimg.cn/mw600/661eb95cly1fgioxk7mk3j20xc1e01f1.jpg #<img src="//wx1.sinaimg.cn/mw600/006wUWIjgy1fgxg2yj5f3j30g70s6dgw.jpg" style="max-width: 480px; max-height: 750px;">
结果如下:
由于时间原因,我只抓取了“煎蛋网”上的十个页面的美女图片罢了,大家可以更改其中的循环次数,可以抓取很多,这里我只抓取了250个图片,一共51.2kb,哈哈,可以很好的欣赏美女图片了,看的都要流鼻血了。。。
当然,此程序还是不够完善,只是我初学python网络爬虫的小作品罢了,以后再些更加完善的。接下来的一段时间真的得好好准备期末考试和考研了,加油!
参考来源: https://zhuanlan.zhihu.com/p/26442105
Note:没有经过我的同意,请勿随便转载!谢谢。
用python来抓取“煎蛋网”上面的美女图片,尺度很大哦!哈哈的更多相关文章
- Python Scrapy 爬取煎蛋网妹子图实例(一)
前面介绍了爬虫框架的一个实例,那个比较简单,这里在介绍一个实例 爬取 煎蛋网 妹子图,遗憾的是 上周煎蛋网还有妹子图了,但是这周妹子图变成了 随手拍, 不过没关系,我们爬图的目的是为了加强实战应用,管 ...
- Python 爬虫 爬取 煎蛋网 图片
今天, 试着爬取了煎蛋网的图片. 用到的包: urllib.request os 分别使用几个函数,来控制下载的图片的页数,获取图片的网页,获取网页页数以及保存图片到本地.过程简单清晰明了 直接上源代 ...
- python爬虫–爬取煎蛋网妹子图片
前几天刚学了python网络编程,书里没什么实践项目,只好到网上找点东西做. 一直对爬虫很好奇,所以不妨从爬虫先入手吧. Python版本:3.6 这是我看的教程:Python - Jack -Cui ...
- Python Scrapy 爬取煎蛋网妹子图实例(二)
上篇已经介绍了 图片的爬取,后来觉得不太好,每次爬取的图片 都在一个文件下,不方便区分,且数据库中没有爬取的时间标识,不方便后续查看 数据时何时爬取的,所以这里进行了局部修改 修改一:修改爬虫执行方式 ...
- python爬虫爬取煎蛋网妹子图片
import urllib.request import os def url_open(url): req = urllib.request.Request(url) req.add_header( ...
- [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图
第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果 ...
- Golang分布式爬虫:抓取煎蛋文章|Redis/Mysql|56,961 篇文章
--- layout: post title: "Golang分布式爬虫:抓取煎蛋文章" date: 2017-04-15 author: hunterhug categories ...
- selenium爬取煎蛋网
selenium爬取煎蛋网 直接上代码 from selenium import webdriver from selenium.webdriver.support.ui import WebDriv ...
- python爬虫学习(1)__抓取煎蛋图片
#coding=utf-8 #python_demo 爬取煎蛋妹子图在本地文件夹 import requests import threading import time import os from ...
随机推荐
- 【leetcode】287. 寻找重复数
题目链接:传送门 题目描述: 给定一个数组 nums 包含 n + 1 个整数,每个整数在 1 到 n 之间,包括 1 和 n.现在假设数组中存在一个重复的数字,找到该重复的数字. 注意 不能修改数组 ...
- 怎样查看或修改网页的标题title
网页的标题一般指的是 <title>标签之间的文本节点值, 它会显示在浏览器的标签页上, 我们可以通过 document.title 来查看或修改它: document.title; // ...
- lua堆栈
lua堆栈 来源 https://blog.csdn.net/suhuaiqiang_janlay/article/details/56702381 来源 https://blog.csdn.net/ ...
- TypeScript入门二:基本数据类型
浅析基本数据类型 TypeScript类型解析 一.浅析基本数据类型 首先有一个问题TypeScript是一门编译型语言?还是解释性语言?显然已经不能被这两个分类来区分,TypeScript的并不是为 ...
- 修改小程序checkbox样式
未选中时的样式 checkbox .wx-checkbox-input { border-radius: 50%; height: 30rpx; width: 30rpx; margin-top: - ...
- C++ STL 之 deque
deque 和 vector 的最大差异? 一在于 deque 允许常数时间内对头端进行元素插入和删除操作. 二在于 deque 没有容量的概念,因为它是动态的以分段的连续空间组合而成,随时可以增加一 ...
- SEO要点
SEO要点:1.语义化html标签,用合适的标签嵌套合适的内容,不可过分依赖div,对浏览器更友善就能更容易被抓取.2.重要的内容html代码放在前面,放在左边.搜索引擎爬虫是从左往右,从上到下进行抓 ...
- SpringCloud之Eureka注册中心原理及其搭建
一.Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCl ...
- spring依赖注入时,什么时候会创建代理类
spring 依赖注入时,什么时候会创建代理类 有的会创建代理类来替代目标类的实现.比如有事务注解啊 有的直接使用目标类.啥拦截配置都没有.
- Jenkins服务器安装与配置
Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考. 一. 软件包: 1. 下载apache-maven-2.2.1-bin.tar ...