共用时间4小时20分左右,文件4.36g,运行产生一个文档,用来记录不纯在的图片代码,把这些代码删减去,实际代码很短,因为过程比较无脑。

# -*- coding: utf-8 -*-
"""
Created on Mon Jan 14 18:23:10 2019@author: Administrator
"""import requests
from bs4 import BeautifulSoup
import re
import time
#import xlwt'''
book = xlwt.Workbook(encoding='utf-8', style_compression=0)sheet = book.add_sheet('test', cell_overwrite_ok=True)sheet.write(0,0,link[-7:-4])book.save(r'e:\test1.xls')
'''#url="https://www.mzitu.com/169451"

my_referer = r'https://www.mzitu.com/169451'#为了获得图片链接,暂时不需要了,因为链接可以生成
'''
r=requests.get(url,headers={'referer':my_referer})
r.encoding=r.apparent_encoding
html=r.content
soup=BeautifulSoup(html,"html.parser")
s=soup.select("div p a")[0].img["src"]
'''#从链接总获得图片#s=soup.select(".article-content")#type(s[0])
#Out[18]: bs4.element.Tag#t=s[0].get_text()#f=open("d:/测试解析文档学习.html","w",encoding="utf-8")
#f.write(str(s))
'''
a='https://i.meizitu.net/2019/01/13d'b="https://i.meizitu.net/2018/12/29d"c="https://i.meizitu.net/2017/01/01b"
d="https://i.meizitu.net/2017/01/02b"
ls=[]
ls=[a,b,c,d]
'''"""
p1=["0"+str(i) for i in range(1,10)]    #快速列表生成器
p1.append("10","11","12")
"""site="https://i.meizitu.net/"     #2018

years=[site+str(i)+"/" for i in range(2015,2020)]    #产生这几年#1-31天#p2=[chr(i) for i in range(97,123)]          #百度python生成a-z#        for j in p2:#经过分析大多数图片都是 https://i.meizitu.net/2018/12/28a01.jpg 末尾的字母主要是 a b c 所以,为了效率,节省点时间吧def  nyr(year):p0=["0"+str(i) for i in range(1,10)]+[str(i) for i in range(10,13)]   #月p1=["0"+str(i) for i in range(1,10)]+[str(i) for i in range(10,32)]   #产生31天
    url_day=[]for k in p0:    for i in p1:url_day.append(year+k+'/'+i)     #产生某一天return url_day
#这样遍历的全年的不太好用,还不如老老实实爬某一个月的
"""
p12="https://i.meizitu.net/2018/10/"
url_Nov=[]
for k in p1:    for i in p2: url_Nov.append(p12+k+i)"""header = {
"User-Agent": "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)",
"Referer": r'https://www.mzitu.com/169451'
}  #headers={'referer':my_referer}def downloud(url):#p2015=["m","p","s","t","u","w","x","y"]p2015=[chr(i) for i in range(97,123)]  for j in p2015:for i in range(1,60):if i<10:link=url+j+"0"+str(i)+".jpg"else:link=url+j+str(i)+".jpg"try:r1=requests.get(link,timeout=0.1,headers=header)r1.raise_for_status()html1=r1.content#ss=str(i)f=open("f:/爬虫生成文件/2015-/"+link[-17:-4].replace("/","")+".jpg","wb")f.write(html1)f.close()except:k=open("f:/爬虫生成文件/爬虫字母.txt","a",encoding="utf-8")k.write(link[-7:-4]+",")print("不存在:","{:^10}".format(link))#k.close()breakdef main():start_time=time.time()for j in range(len(years)):n=nyr(years[j])for i in range(len(n)):downloud(n[i])'''n=nyr(years[0])for i in range(len(n)):downloud(n[i])'''end_time=time.time()print("{:10}".format(end_time-start_time))main()"""def main():for i in url_Nov[:200]:downloud(i)    """"""对空文件测试
x
Out[107]: 'https://i.meizitu.net/2018/12/12o1'r1=requests.get(x,headers={'referer':my_referer})r1
Out[109]: <Response [404]>明白了这里必须要加上try except ,,raisefor status的原因了url[-11:].replace("/","")
"""         

# -*- coding: utf-8 -*-
"""
Created on Mon Jan 14 18:23:10 2019
@author: Administrator
"""import requests
from bs4 import BeautifulSoup
import re
import timedef  nyr(year):         #当给定第year年 产生year年的每一天p0=["0"+str(i) for i in range(1,10)]+[str(i) for i in range(10,13)]   #月p1=["0"+str(i) for i in range(1,10)]+[str(i) for i in range(10,32)]   #产生31天
    url_day=[]for k in p0:    for i in p1:url_day.append(year+k+'/'+i)    return url_daydef downloud(url):        #url是给定的某年某月某日 该函数遍历a00-a79 b00-b79....z00-z79 然后传入下一日p2=[chr(i) for i in range(97,123)]  for j in p2:         #26字母遍历for i in range(1,80):              #查找80张图片(一般一张专辑最多也就50章),这个数目大没关系,不会降低速度,因为如果没有立刻就break了,不会继续查找if i<10:                       #因为都是两位数 比如3应该转化为03link=url+j+"0"+str(i)+".jpg"else:link=url+j+str(i)+".jpg"try:                            #下载图片r=requests.get(link,timeout=0.1,headers=header)r.raise_for_status()html=r.contentf=open("f:/爬虫生成文件/2015-/"+link[-17:-4].replace("/","")+".jpg","wb")f.write(html)f.close()except:print("不存在:","{:^10}".format(link))breakdef main():my_referer = r'https://www.mzitu.com/169451'         site="https://i.meizitu.net/"     header = {"User-Agent": "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)","Referer": r'https://www.mzitu.com/169451'}  years=[site+str(i)+"/" for i in range(2015,2020)]  start_time=time.time()  for j in range(len(years)):        #循环遍历每一年n=nyr(years[j])for i in range(len(n)):        #循环遍历该年的每一天,从第0天开始
            downloud(n[i])end_time=time.time()print("{:10}".format(end_time-start_time))    #计算总共用时间

main()

转载于:https://www.cnblogs.com/xinqidian/p/10276391.html

爬mei紫图最后代码2015-2019-1-14全部相关推荐

  1. 多线程爬取斗图表情包

    和朋友在QQ上聊天感觉呀没有激情,突然,突发奇想,我写个小的爬虫 ,把表情包爬取下来随便挑,斗到他们吐血. 下面是爬取斗图的代码,代码可供参考 #encoding:utf8#模块import reim ...

  2. 23行代码带你爬取美女图

    爬取妹子图可能在爬虫里面没有什么技术含量了,新手练练手还是可以的. 今天爬取的网址是:http://www.youzi4.cc/mm/meinv/index_1.html 注意:爬取图片一般要加上re ...

  3. 100行代码教你爬取斗图网(Python多线程队列)

    100行代码教你爬取斗图网(Python多线程队列) 前言 根据之前写的两篇文章,想必大家对多线程和队列有了一个初步的了解,今天这篇文章就来实战一下,用多线程 + 队列 爬取斗图网的全网图片. 你还在 ...

  4. requests库(正则提取)爬取千图网

    requests库(正则提取)爬取千图网 首先分析网页结构 打开千图网的网址搜索春节 打开网页源代码,发现跳转链接存在网页源代码里 接下来我们就利用正则表达式去提取 正则表达式最主要的就是找到你想要信 ...

  5. spider_爬取斗图啦所有表情包(图片保存)

    """爬取斗图吧里面的所有表情包 知识点总结: 一.使用requests库进行爬取,随机请求头(网站反爬措施少.挂个请求头足矣) 二.具体思路: 1.先爬取所有的图片ur ...

  6. python爬取千图网图片并保存_Python数据分析与挖掘实战-课程作业5爬取千图网某个频道的高清图片...

    作业要求:爬取千图网(http://www.58pic.com)某个频道的高清图片 作业难点:正确找到图片链接并用正则表达式写出 代码如下: """ Created on ...

  7. 运用Python爬虫爬取一个美女网址,爬取美女图

    运用Python爬虫爬取一个美女网址,爬取美女图 要运用到的python技术: 导入库 1.request 发送请求,从服务器获取数据 2.BeautifulSoup 用来解析整个网页的源代码 imp ...

  8. scrapy爬取斗图表情

    用scrapy爬取斗图表情,其实呀,我是运用别人的博客写的,里面的东西改了改就好了,推存链接" http://www.cnblogs.com/jiaoyu121/p/6992587.html ...

  9. 使用python爬取斗图网的图片

    使用python爬取斗图网的图片 以下是代码部分: # -*- coding: utf-8 -*- """ Created on Wed Apr 14 14:41:42 ...

最新文章

  1. GPS定位系统源码只有这种才是最适合做二次开发的...
  2. springboot + mybatis + gradle项目构建过程
  3. 计算机视觉基础-图像处理(边缘检测)cpp+python
  4. 在没有插件的情况下为Chrome设置Proxy
  5. 频率计的交流耦合和直流耦合的区别_直流电源与交流电源是什么?直流与交流之间的区别公司新闻...
  6. jQuery UI 应用不同Theme的办法
  7. springboot分页展示功能_基于SpringBoot从零构建博客网站 - 分页显示文章列表功能...
  8. 8.Docker技术入门与实战 --- 使用Dockerfile创建镜像
  9. DELL服务器装机网络问题
  10. Windows NT操作系统
  11. matlab中ode45如何设置,如何使用Matlab中的ode45修正赋值错误(ode45函数的第488行)
  12. Usability Engineering
  13. Coverage基础知识整理
  14. 你值得拥有的一份面试题
  15. POS机刷卡跨行交易的清算方式
  16. python停止线程_python线程之八:线程停止的3种方式,5个实例
  17. Remote Procedure Calls
  18. Crypto 学习第二天
  19. 点评阿里云盛大云代表的云计算IaaS产业
  20. 单片机常用的编程语言有哪些?怎样能快速提高编程水平?

热门文章

  1. 【bzoj3653】谈笑风生
  2. 【两天搞定小米商城】【第九步】小米商城之尾部部分
  3. 联想电脑G40无法使用 非要睡眠后才能启用wifi
  4. mysql 用户名 长度_一个 MySQL 用户名长度的坑
  5. 第二章 数据查询语言DQL
  6. 一群阿里码农的公益实践:用技术禁毒、打拐
  7. Linux和Windows设备驱动架构比较
  8. 计算机二级Python选择题真题第一套,计算机二级Python考试题库
  9. Android逆向教程(二)——教你如何破解童年小游戏《魔塔》
  10. 使用微博自动记录俯卧撑个数