做UI的朋友说花瓣访问不了, 但是个人采集还是能获得的。
赶紧下载下来备份吧。

花瓣采集下载器for windows
/s/1pj3gB_BeQFW6nqJ2HyTVEA
提取码: muy1
by the way ,接口可能变动,2019年1月29日 验证有效。

python3+requests

# -*- encoding:utf-8 -*-
'''author:thewindkee
'''
import requests
import urllib
import json
import re
import time
import random
# import queue
import os
import sysINDEX_URL='http://login.meiwu.co/xx'
USER_PIN_URL_FORMAT='http://login.meiwu.co/%s/pins/'
DOWNLOAD_URL='http://img.hb.aicdn.com/'global HEADERS
HEADERS={"User-Agent:":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36","Accept:":"application/json"
}
#所有的采集
global PIN_MAP
PIN_MAP={}
#下载失败的采集
global FAILED_TO_DOWN
FAILED_TO_DOWN=[]
FAILED_TXT="fail.txt"
#保存登陆后的cookie
global LOGIN_COOKIES
LOGIN_COOKIES={}
seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
global EXISTED_PIC
EXISTED_PIC=[]
PIC_POSTFIX='.jpg'
DOWANLOAD_DIR='huaban'def login(email,password):LOGIN_URL = "http://login.meiwu.co/auth/"r=requests.post(LOGIN_URL, headers=HEADERS,data = {'email':email,'password':password,'_ref':'loginPage'},timeout=10)if r.status_code == requests.codes.ok:# print("cookies:")for key,value in r.cookies.items():# print('%s,%s'%(key,value))LOGIN_COOKIES[key]=valueurlname=get_urlname(r.text)if urlname:return USER_PIN_URL_FORMAT%urlnameprint("登陆失败")sys.exit(0)def build_url_for_test():LOGIN_COOKIES['sid']='xx'urlname='xx'return USER_PIN_URL_FORMAT%urlnamedef get_pin_max(content):# "pin_count": 3466r = re.search('"pin_id": *(\d+)', content)# print(r)if r:  # 有id才录入return r.group(1)def get_urlname(content):r = re.search('"urlname": *"(\S+)"', content)# print(r)if r:return r.group(1)def randomStr(len):return ''.join(random.sample(seed, len))def build_headers_for_pin():HEADERS['X-Requested-With']='XMLHttpRequest'HEADERS['X-Request']='JSON'return HEADERSdef get_page_pins(user_pin_url,max):try:user_pin_url='%s?%s&max=%s&limit=100&wfl=1'%(user_pin_url,randomStr(8),max)print('收集下载信息 url:%s'%user_pin_url)r=requests.get(user_pin_url, headers=HEADERS,cookies=LOGIN_COOKIES,timeout=30)r.encoding='UTF-8'last_pin_id = maxif r.status_code == requests.codes.ok:d = json.loads(r.text,encoding="UTF-8")pins = d['user']['pins']if(pins):for pinItem in pins:last_pin_id=pinItem['pin_id']PIN_MAP[str(last_pin_id)]=pinItem['file']['key']return last_pin_idelse:return Noneexcept Exception as e:print(str(e))def save_pin_map(data):with open("all.txt",'w') as f:f.write(str(data))def download(url,name):try:r=requests.get(url, headers=HEADERS)with open(name,'wb') as f:f.write(r.content)except Exception as e:print(str(e))FAILED_TO_DOWN.append(url)def download_all(total):i=1for pin_id,key in PIN_MAP.items():url=DOWNLOAD_URL+keyprint('%d/%d 下载 %s'%(i,total,url))i+=1if(not downloaded(pin_id)):download(url,pin_id+PIC_POSTFIX)time.sleep(0.5)def downloaded(pin_id):# path=os.getcwd()+os.sep+pin_id+PIC_POSTFIXfile_name=pin_id+PIC_POSTFIXif file_name in EXISTED_PIC:print('\t%s已经存在'%file_name)return Trueelse:return Falsedef save_failed_to_down_url():with open(FAILED_TXT,'w') as f:f.write(",".join(FAILED_TO_DOWN) )def prepare_pic_dir(DOWANLOAD_PATH):if not os.path.exists(DOWANLOAD_PATH): print("创建下载目录:%s"%DOWANLOAD_PATH)os.makedirs(DOWANLOAD_PATH)os.chdir(DOWANLOAD_PATH)def get_first_max(user_pin_url_index):r=requests.get(user_pin_url_index, headers=HEADERS,cookies=LOGIN_COOKIES,timeout=30)#为了获得max那一张return int(get_pin_max(r.text))+1def main():try:# urlname=build_url_for_test()DOWANLOAD_PATH=(os.getcwd()+os.sep+DOWANLOAD_DIR).strip()print("下载花瓣采集到文件夹:%s "%DOWANLOAD_PATH)EMAIL=input('请输入账号\n')PASSWORD=input('请输入密码\n')USER_PIN_URL=login(EMAIL,PASSWORD)MAX=get_first_max(USER_PIN_URL)print(MAX)build_headers_for_pin()while(True):MAX=get_page_pins(USER_PIN_URL,MAX)time.sleep(0.5)if not MAX:breakprepare_pic_dir(DOWANLOAD_PATH)build_existed_pic(DOWANLOAD_PATH)save_pin_map(PIN_MAP)total=len(PIN_MAP)print('总共:%d张,开始下载!'%total)download_all(total)if FAILED_TO_DOWN:print("%s张下载失败,查看%s文件"%(len(FAILED_TO_DOWN),FAILED_TXT))else:print("下载完成!")print('图片下载目录:%s'%DOWANLOAD_PATH)save_failed_to_down_url()except Exception as e:print(str(e))def build_existed_pic(DOWANLOAD_PATH):for file in os.listdir(DOWANLOAD_PATH):if os.path.isfile(file) and file.endswith(PIC_POSTFIX):EXISTED_PIC.append(file)if __name__=='__main__':try:main()finally:input("任意键退出")

效果如图:

【爬虫】花瓣采集下载器相关推荐

  1. WOS(SCI)爬虫:风车WOS下载器

    Web of Science 是获取全球学术信息的重要数据库平台,包含了web of science核心合集(SCI科学引文索引.SSCI社会科学引文索引).Derwent Innovations i ...

  2. 用python爬虫制作图片下载器(超有趣!)

    这几天小菌给大家分享的大部分都是关于大数据,linux方面的"干货".有粉丝私聊小菌,希望能分享一些有趣的爬虫小程序.O(∩_∩)O哈哈,是时候露一手了.今天给大家分享的是一个适合 ...

  3. Python爬虫之网页下载器网页解析器

    一.网页下载器 -- urllib2的三种网页下载方法 import cookielib import urllib2url = "http://www.baidu.com" pr ...

  4. Python轻量级爬虫教程-网页下载器

    爬虫简介: 抓取自己想要的的类别网页上的数据. 爬虫架构: 爬虫调度端 爬虫:URL管理器, 网页下载器,网页解析器 数据: 爬虫运行流程: URL管理器: 管理待抓取URL集合和已抓取URL集合: ...

  5. Python爬虫:URL管理器及其实现方式、网页下载器、网页解析器原理及其实现原理!

    Python爬虫之URL管理器: Python爬虫:URL管理器实现方式: Python爬虫之网页下载器: urllib2实现网页下载器的三种方法: 具体代码:                    ...

  6. python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...

    我想要(下)的,我现在就要 python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk ...

  7. 图片下载器爬虫 ItemLoader

    思路 http://www.meizitu.com/a/more_1.html 图片下载器爬虫 1.使用到的技术:scrapy ,requests(下载图片),ItemLoader 2.项目的创建:s ...

  8. java爬虫写一个百度图片下载器

    文章目录 img_download 1.0 看看效果吧 2.0 了解一下 "图片下载器软件" 目录结构 3.0 如何使用? 4.0 源码剖析 5.0 项目地址 6.0 写在最后的话 ...

  9. 爬虫+pyqt5 打造属于自己的抖音视频下载器

    前言:最近一段时间在家经常会用抖音来度过娱乐时间,经常会直接通过抖音软件向好友分享视频.自己无聊至极就花了一上午的时间做了一个PC端的抖音视频下载器. 郑重申明:该文章介绍的技术仅供用于学习,不可恶意 ...

  10. python爬虫,wallhaven热门壁纸多线程采集下载源码

    新年新气象,祝大家牛转乾坤,牛气冲天! 过年期间收到了很多朋友的新年祝福,没有一一回应,见谅! 很久没写爬虫了,手生了,在吾爱找了一个练手网站,国外的壁纸网站,wallhaven,这里采集下载热门图片 ...

最新文章

  1. Inside Spring - learning notes - Jerry Wang的Spring学习笔记
  2. linux配置定时删除日志文件,Linux使用shell脚本定时删除历史日志文件
  3. 理论基础 —— 排序 —— 鸡尾酒排序
  4. php后门木马常用命令
  5. Nmap Cheat Sheet Part 1
  6. cocos2dx mysql_初次接触cocos2dx
  7. 深度学习解释:Precision、Recall、IoU、Ap/mAp
  8. 使用CMake编译Geos3.5.0
  9. 微信公众号实现人脸识别功能
  10. 英特尔神经计算棒二代(NCS2)安装、配置及使用
  11. CTS 使用instrumentation命令测试
  12. [从0开始机器学习]4.线性回归 正规方程
  13. 华赛防火墙ipsec-***配置
  14. Another Day 超好听的BGM
  15. {0}:{1:.4f}“.format(是什么意思 Python字符串格式化 (%占位操作符)
  16. Uber明年在中国将继续补贴,并大举进军100个城市!
  17. Linux tomcat应用验证码出不来问题解决方法
  18. java 爬取百度云盘,python爬虫爬取百度网盘-怎么做一个百度网盘搜索引擎
  19. orangepi pc lubuntu 设置分辨率
  20. BDD、KITTI、Cityscapes和Foggy Cityscapes百度云链接

热门文章

  1. X.U.S.T的《自己搭建IIS找ASP程序漏洞》发表在《黑客X档案》,稿费捐给希望工程
  2. 最新北京市生活常用电话一览表
  3. NPM酷库:chalk,多彩的粉笔
  4. 1500个前端开发常用JavaScript特效
  5. commandname
  6. ECharts中国区域地图
  7. Matlab非线性拟合函数——nlinfit
  8. [日常摸鱼]Luogu2878 [USACO07JAN]Protecting the Flowers
  9. 【遥感微课堂】学习ENVI5.0
  10. html怎么让一行文字有滚动的效果,HTML标签marquee实现滚动效果