python爬取煎蛋图片
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爬取煎蛋图片的更多相关文章
- Python 爬取煎蛋网妹子图片
		
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2017-08-24 10:17:28 # @Author : EnderZhou (z ...
 - python爬取煎蛋网图片
		
``` py2版本: #-*- coding:utf-8 -*-#from __future__ import unicode_literimport urllib,urllib2,timeimpor ...
 - Python 爬取 煎蛋
		
这个我是拿来参考的 import requests def url_open(url): response = requests.get(url) html = response.content re ...
 - python3爬虫爬取煎蛋网妹纸图片(上篇)
		
其实之前实现过这个功能,是使用selenium模拟浏览器页面点击来完成的,但是效率实际上相对来说较低.本次以解密参数来完成爬取的过程. 首先打开煎蛋网http://jandan.net/ooxx,查看 ...
 - python爬虫学习(1)__抓取煎蛋图片
		
#coding=utf-8 #python_demo 爬取煎蛋妹子图在本地文件夹 import requests import threading import time import os from ...
 - Python Scrapy 爬取煎蛋网妹子图实例(一)
		
前面介绍了爬虫框架的一个实例,那个比较简单,这里在介绍一个实例 爬取 煎蛋网 妹子图,遗憾的是 上周煎蛋网还有妹子图了,但是这周妹子图变成了 随手拍, 不过没关系,我们爬图的目的是为了加强实战应用,管 ...
 - selenium爬取煎蛋网
		
selenium爬取煎蛋网 直接上代码 from selenium import webdriver from selenium.webdriver.support.ui import WebDriv ...
 - python爬虫–爬取煎蛋网妹子图片
		
前几天刚学了python网络编程,书里没什么实践项目,只好到网上找点东西做. 一直对爬虫很好奇,所以不妨从爬虫先入手吧. Python版本:3.6 这是我看的教程:Python - Jack -Cui ...
 - Python 爬虫 爬取 煎蛋网 图片
		
今天, 试着爬取了煎蛋网的图片. 用到的包: urllib.request os 分别使用几个函数,来控制下载的图片的页数,获取图片的网页,获取网页页数以及保存图片到本地.过程简单清晰明了 直接上源代 ...
 
随机推荐
- chrome开发工具指南(十一)
			
检查资源 使用 Application 面板的 Frames 窗格可以按框架组织资源. 您也可以在 Sources 面板中停用 Group by folder 选项,按框架查看资源. 要按网域和文件夹 ...
 - Java笔记—— 格式化的输入和输出
			
精确输出 可以用8个字符的宽度和小数点后了两个字符的精度打印x. double x = 10000.0 /3.0; System.out.printf("%8.2f\n",x);/ ...
 - select设置disable后ie修改默认字体颜色暂时解决
			
找了很多资料,终于在科学上网后找到了一个方法,虽然暂时不知道原理,但是已经实现了功能就是好的 select[disabled='disabled']::-ms-value { color: #000; ...
 - IT经典书籍——Head First系列…
			
Head First 系列书籍是由 O'Relly 出版社发行的一系列教育书籍,中文一般翻译为"深入浅出",它强调以特殊的方式排版,由大量的图片和有趣的内容组合构成,而达到非疲劳的 ...
 - 九度OJ 1017 还是畅通工程
			
#include <iostream> #include <string.h> #include <sstream> #include <math.h> ...
 - SNS团队第五次站立会议(2017.04.26)
			
一.当天站立式会议照片 本次会议主要内容:汇报工作进度,根据完成情况调整进度 二.每个人的工作 成员 今天已完成的工作 明天计划完成的工作 罗于婕 完善数据库文件 根据需求完善数据库文件 龚晓婷 编写 ...
 - SNS团队Beta阶段第二次站立会议(2017.05.23)
			
1.立会照片 2.每个人的工作 每个成员的分工: 成员 今天已完成的工作 明天计划完成的工作 罗于婕 完善代码规范文档 辅助完善生词本 龚晓婷 界面优化 辅助开发新功能 林仕庄 界面图标不对齐bug ...
 - 201521123024《Java程序设计》第8周学习总结
			
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结 注意conve ...
 - 我的Emacs配置文件
			
(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you co ...
 - Java 第十周总结
			
1. 本周学习总结 2. 书面作业 1.finally (题目4-2) 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? finally创建一个代码块.该代 ...