```

py2版本:

#-*- coding:utf-8 -*-
#from __future__ import unicode_liter
import urllib,urllib2,time
import re,sys,os
headers={
'Referer':'http://jandan.net/',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',

}
def getimg(n=''):
req=urllib2.Request('http://jandan.net/ooxx'+n,headers=headers)

html=urllib2.urlopen(req).read()
if n=='':
#print html
reg= '''<div class="text"><span class="righttext"><a href="//jandan.net/ooxx/page-(.*?)#comment-.*?">[\d]*</a></span><p><a href="//.*?"'''
else:
reg= '''<div class="text"><span class="righttext"><a href="//jandan.net/ooxx/page-.*?#comment-.*?">[\d]*</a></span><p><a href="//(.*?)"'''
reg=re.compile(reg)
img=re.findall(reg,html)
return img
a=1
#创建下载图片的文件夹
#dirpath=os.path.splitext(path) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作
dirpath=os.getcwd()+'/img'
if not os.path.exists(dirpath):
os.mkdir(dirpath)
#下载图片
nu=raw_input('你想获取多少页(每页大概11张图片):')
nowpage=getimg()[0]
print nowpage

for n in range(int(nowpage)-int(nu)+1,int(nowpage)+1):
print '获取第%s页'%n

for i in getimg('/page-%s'%n):
print '正在下载第%s张图片'%a
k=r'http://'+i
print k
urllib.urlretrieve(k, 'img/%s' %i.split('/')[-1])
#time.sleep(2) #出现响应超时的情况时加上这句
a+=1

'''
try: #urllib.urlretrieve(i,'img/%s'%str(i)[-8:-1])
urllib.urlretrieve(i,'img/%s.png'%a)
a+=1
except:
print "Unexpected error:", sys.exc_info()[0]
'''
print '总共下载%s张图片'%(int(a)-1)
py3版本: ​
#from __future__ import unicode_liter
import urllib.request
import re,sys,os
headers={
# 'Cookie':'__cfduid=df3295a9ee824f447e48bcda4f871d50f1505877948; _ga=GA1.2.1288199068.1505877788; _gid=GA1.2.1501836844.1505877789; _gat=1',
'Referer':'http://jandan.net/',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',

}
def getimg(n=''):
req=urllib.request.Request('http://jandan.net/ooxx'+n,headers=headers)

html=urllib.request.urlopen(req).read().decode('utf-8')
if n=='':
#print html
reg= '''<div class="text"><span class="righttext"><a href="//jandan.net/ooxx/page-(.*?)#comment-.*?">[\d]*</a></span><p><a href="//.*?"'''
else:
reg= '''<div class="text"><span class="righttext"><a href="//jandan.net/ooxx/page-.*?#comment-.*?">[\d]*</a></span><p><a href="//(.*?)"'''
reg=re.compile(reg)
img=re.findall(reg,html)
return img

a=1
#创建下载图片的文件夹
#dirpath=os.path.splitext(path) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作
dirpath=os.getcwd()+'/img'
if not os.path.exists(dirpath):
os.mkdir(dirpath)
#下载图片
nu=input('你想获取多少页(每页大概21张图片):')
nowpage=getimg()[0]
print(nowpage)

for n in range(int(nowpage)-int(nu),int(nowpage)):
print('获取第%s页'%n)

for i in getimg('/page-%s'%n):
print('正在下载第%s张图片'%a)
k=r'http://'+i
print(k)
urllib.request.urlretrieve(k, 'img/%s' %i.split('/')[-1])
a+=1
'''
try: #urllib.urlretrieve(i,'img/%s'%str(i)[-8:-1])
urllib.urlretrieve(i,'img/%s.png'%a)
a+=1
except:
print "Unexpected error:", sys.exc_info()[0]
'''
print('总共下载%s张图片'%(int(a)-1)) ```

  

python爬取煎蛋网图片的更多相关文章

  1. Python 爬虫 爬取 煎蛋网 图片

    今天, 试着爬取了煎蛋网的图片. 用到的包: urllib.request os 分别使用几个函数,来控制下载的图片的页数,获取图片的网页,获取网页页数以及保存图片到本地.过程简单清晰明了 直接上源代 ...

  2. Python 爬取煎蛋网妹子图片

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-08-24 10:17:28 # @Author : EnderZhou (z ...

  3. scrapy从安装到爬取煎蛋网图片

    下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/pip install wheelpip install lxmlpip install pyopens ...

  4. python3爬虫爬取煎蛋网妹纸图片(上篇)

    其实之前实现过这个功能,是使用selenium模拟浏览器页面点击来完成的,但是效率实际上相对来说较低.本次以解密参数来完成爬取的过程. 首先打开煎蛋网http://jandan.net/ooxx,查看 ...

  5. Python Scrapy 爬取煎蛋网妹子图实例(一)

    前面介绍了爬虫框架的一个实例,那个比较简单,这里在介绍一个实例 爬取 煎蛋网 妹子图,遗憾的是 上周煎蛋网还有妹子图了,但是这周妹子图变成了 随手拍, 不过没关系,我们爬图的目的是为了加强实战应用,管 ...

  6. selenium爬取煎蛋网

    selenium爬取煎蛋网 直接上代码 from selenium import webdriver from selenium.webdriver.support.ui import WebDriv ...

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

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

  8. 爬虫实例——爬取煎蛋网OOXX频道(反反爬虫——伪装成浏览器)

    煎蛋网在反爬虫方面做了不少工作,无法通过正常的方式爬取,比如用下面这段代码爬取无法得到我们想要的源代码. import requests url = 'http://jandan.net/ooxx' ...

  9. python3爬虫爬取煎蛋网妹纸图片(下篇)2018.6.25有效

    分析完了真实图片链接地址,下面要做的就是写代码去实现了.想直接看源代码的可以点击这里 大致思路是:获取一个页面的的html---->使用正则表达式提取出图片hash值并进行base64解码--- ...

随机推荐

  1. java 可重入读写锁 ReentrantReadWriteLock 详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt206 读写锁 ReadWriteLock读写锁维护了一对相关的锁,一个用于只 ...

  2. svn: Can't convert string from 'UTF-8' to native

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt227 svn 版本库中有文件是以中文字符命名的,在 Linux 下 chec ...

  3. poj 1011--Sticks(搜索)

    题目链接 Description George took sticks of the same length and cut them randomly until all parts became ...

  4. 启动springjar

    java -jar cms-exporter-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:./config

  5. 【★】IT界8大恐怖预言

    IT界的8大恐怖预言 本文字数:3276 建议阅读时间:你开心就好 第三次科技革命已经进入白热化阶段---信息技术革命作为其中最主要的一环已经奠定了其基本格局和趋势.OK大势已定,根据目前的形势,小编 ...

  6. ★电车难题的n个坑爹变种

    哲学家都不会做的电车难题变异 此题会答清华北大 "电车难题(Trolley Problem)"是伦理学领域最为知名的思想实验之一,其内容大致是: 一个疯子把五个无辜的人绑在电车轨道 ...

  7. 转:【Java并发编程】之四:守护线程与线程阻塞的四种情况

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17099981      守护线程   Java中有两类线程:User Thread(用户线 ...

  8. spring 注入使用注解(不用xml)

    (一):导入spring4的jar包 (二):在xml中配置扫描的包 <context:component-scan base-package="entity">< ...

  9. 201521123071 《JAVA程序设计》第二周学习总结

    1. 本周学习总结 在本周的学习中,主要学习了书上的String类以及Math类等知识,但是书上学到的东西只是理论,实际打起代码来的时候会学习到更多,比如在PTA上就有学习到StringBuilder ...

  10. 201521123092,《java程序设计》第1周学习总结

    1.本周学习总结 这一周是我学习java的第一周,刚接触一门全新的编程语言,觉得还是有点困难的,很多基础性的java知识需要一点点学习,我会请教同学以及查询网上的学习资料,认真学好这一门学科. 本周学 ...