import requests
import re
import json
import os '''
作者:小松叔
操作系统:win10专业版
编程语言:python3.5.2
'''
#创建根目录
root = "D://淘女郎//"
if not os.path.exists(root):#判断创建的目录是否存在,如果不存在则创建os.mkdir(root)number_list = [] #用于储存每个女郎的id号
user_id_list = []#用来储存每个女郎的user_id
album_id_list = []#用于储存每个女郎的每个相册id
user_url = "https://mm.taobao.com/json/request_top_list.htm?page="#获取每个女郎的user_id和 user_id号
for i in range(1,10):#遍历女郎列表前10页,在这10页中获取每个女郎的user_idurl1 = user_url + str(i)try:user_r = requests.get(url1)user_r.raise_for_status()user_r.encoding = user_r.apparent_encodinguser_html = user_r.textuser_id = re.findall(r'user_id=[0-9]{0,9}',user_html)#利用正则表达式,匹配每个女郎的user_id for i in user_id:user_id_list.append(i)for i in user_id_list:number = re.search('[0-9]{1,10}',i).group(0)#遍历user_id_list,利用正则获取每个女郎的user_id号,并将其保存在number_list中number_list.append(number)except:print("gain web error!")#获取每个女郎的相册id
for Number in number_list:first_url = "https://mm.taobao.com/self/album/open_album_list.htm?_charset=utf-8&user_id%20="url = first_url + str(Number)for i in range(1,6):#每个女郎有5页的相册,遍历每一页。album_id_link = url + "&page" + str(i)album_id_link_r = requests.get(album_id_link)album_id_link_r.encoding = album_id_link_r.apparent_encodingalbum_id_link_html = album_id_link_r.textalbum_id = re.findall('album_id=[0-9]*',album_id_link_html)#利用正则,找到相册IDfor i in album_id:if i not in album_id_list:album_id_list.append(i)for i in album_id_list:album_folder = root + i+"//"if not os.path.exists(album_folder):#创建相册目录,用于保存对应相册里的照片os.mkdir(album_folder)for k in range(1,3):#对于每个相册里的照片,遍历前3页。URL = "https://mm.taobao.com/album/json/get_album_photo_list.htm?user_id=" +Number+ "&"+ str(i) + "&top_pic_id=0&cover=%2F%2Fimg.alicdn.com%2Fimgextra&page="+ str(k)picture_link_r = requests.get(URL)picture_link_r.encoding = picture_link_r.apparent_encodingpicture_link_html = picture_link_r.textpicture_link_data = json.loads(picture_link_html)#将json对象转换为python对象,即字典print(picture_link_data['isError'])if picture_link_data['isError'] == str(0):#如果isError = 1,则表示该页没有可以图片picture_link_picList = picture_link_data['picList']for i in picture_link_picList:picture_name = i['picUrl'].split('/')[-1]Path = album_folder + picture_nameif not os.path.exists(Path):r = requests.get("https:" + i['picUrl'])with open(Path,'wb') as f :f.write(r.content)  

爬取淘女郎前100页所有图片相关推荐

  1. PIXIV 爬取国际前100名代码

    PYTHON爬虫 爬取PIXIV国际前100名的代码 代码是别人的,那天学习爬虫的时候看到了,写的很厉害~ 学习学习 #coding:UTF-8__author__ = 'monburan' __ve ...

  2. 爬虫第5课-从QQ音乐上爬取周杰伦前5页歌词

    第一步:分析问题,明确目标 需求就是把关卡内的代码稍作修改,将周杰伦前五页歌曲的歌词都爬取下来,结果就是全部展示打印出来. 第二步:写代码 Network - XHR-client_search - ...

  3. Python 3.6模拟输入并爬取百度前10页密切相关链接

    1.安装扩展库mechanicalsoup,这个库依赖requests.beautifulsoup4等模块,一般会自动安装,如果失败的话,可以先安装依赖的其他扩展库. 2.分析百度网页源代码,找到用来 ...

  4. 菜鸟爬取中关村手机详情页参数及报价

    菜鸟爬取中关村手机详情页参数及报价 背景介绍: 需求是爬取所有手机详情页各个手机型号对应的价位区间及参数: 此前没有爬虫经历,套用网上教程屡屡报错,痛定思痛决定自己搜索爬虫框架,参照官方文档并整理网页 ...

  5. 使用scrapy再次爬取猫眼前100榜单电影!

    前提: 记得去年5月份左右的时候写过一篇使用Requests方法来爬取猫眼榜单电影的文章,今天偶然翻到了这篇文章,又恰巧最近在学scrapy框架进行爬虫,于是决定饶有兴趣的使用scrapy框架再次进行 ...

  6. Python爬虫之爬取淘女郎照片示例详解

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

  7. python爬虫 爬取淘女郎介绍以及照片

    从https://mm.taobao.com/json/request_top_list.htm?page=1上爬取淘女郎的介绍和个人主页的照片 Spider.py # __author__ = 'y ...

  8. requests爬取豆瓣前250部高分电影

    这两天又写了一个爬取豆瓣前250部高分电影的爬虫,并把电影名字和图片保存到本地. 用的是requests和BeautifulSoup. @requires_authorization import r ...

  9. python + selenium多进程爬取淘宝搜索页数据

    python + selenium多进程爬取淘宝搜索页数据 1. 功能描述 按照给定的关键词,在淘宝搜索对应的产品,然后爬取搜索结果中产品的信息,包括:标题,价格,销量,产地等信息,存入mongodb ...

最新文章

  1. 您的连接不是私密连接
  2. spring-boot项目打包时候出现boot-inf文件夹的问题
  3. 牛客多校10 - Decrement on the Tree(边权转点权+思维)
  4. shell基础(上)
  5. (四)、jave2加工视频
  6. VSCode打开文件中文乱码
  7. 计算机网络原理(04741)课后习题答案
  8. 渗透测试面试题汇总(全)
  9. perl和bugzilla
  10. Fern wifi cracker 无线破解工具——图解
  11. [CodeChef FEB15]Payton numbers(CUSTPRIM)解题报告
  12. 手机开发者选项各项参数意义
  13. 阿里云code下载代码和更新代码
  14. AVAYA-RTX统一通信解决方案
  15. 2. 高光谱成像技术
  16. 27. Spark : org.apache.spark.sql.AnalysisException: Reference 'XXXX' is ambiguous
  17. 掌握及手把手实现哈希表
  18. MySql单张表中,“多个唯一字段”的插入和更新操作----添加联合唯一索引,Navicat上操作
  19. 10个学生,每个学生数据包括学号,姓名,成绩,输出3门总平均成绩,以及最高分学生数据(C++程序设计)
  20. web前端面试100题

热门文章

  1. VS2005中文版下载地址和msdn_vs2005中文版
  2. 综合布线系统中直接与用户终端设备相连的子系统是什么呢?
  3. 学习记录 flex布局(弹性盒子)flex-direction
  4. C#EntityFramework(EF基础)
  5. Centos7.1安装CUDA7.0
  6. 转接IC整理汇总 转接芯片大全
  7. 网络标准(从一类线到八类线)
  8. C语言 带参数宏定义中 # 和 ## 知识点总结、代码分析
  9. 基于RT-Thread+RA6M4的远程开机助手
  10. python ctm 关联主题模型_面向特定划分的主题模型的设计与实现