'''
第一次尝试python爬取图片,请多指正
回答者的答案单独存放一个文件夹
'''
from urllib import request
import math
import requests
import json
import re
import osdef getPicture():count = 0#记录照片总数filcount = 0#文件夹个数for i in range(math.ceil(569/20)):#569是自己看到的回答总数,还没有实现自动获取回答数try:kv = {'user-agent': 'Mozillar/5.0'} #知乎返回json数据的url中的limit是每次获取多少行数据,offset是每次从哪一个问题开始加载url = "https://www.zhihu.com/api/v4/questions/29814297/answers?include=data%5B%2A%5D.is_normal%2Cadmin_closed_comment%2Creward_info%2Cis_collapsed%2Cannotation_action%2Cannotation_detail%2Ccollapse_reason%2Cis_sticky%2Ccollapsed_by%2Csuggest_edit%2Ccomment_count%2Ccan_comment%2Ccontent%2Ceditable_content%2Cvoteup_count%2Creshipment_settings%2Ccomment_permission%2Ccreated_time%2Cupdated_time%2Creview_info%2Crelevant_info%2Cquestion%2Cexcerpt%2Crelationship.is_authorized%2Cis_author%2Cvoting%2Cis_thanked%2Cis_nothelp%2Cis_labeled%3Bdata%5B%2A%5D.mark_infos%5B%2A%5D.url%3Bdata%5B%2A%5D.author.follower_count%2Cbadge%5B%2A%5D.topics&limit=20&offset="+str(20*i)+"&platform=desktop&sort_by=default"r = requests.get(url, headers=kv)j = json.loads(r.text)for k in range(20):jpgurl=re.findall(r'data-original="(.*?)"', j["data"][k]["content"])name = j["data"][k]["author"]["name"]ID = j["data"][k]["id"]question = j["data"][k]["question"]["title"]mkfile = os.mkdir("C:/Users/23504/Desktop/Python知乎数据/知乎话题:日常穿JK制服是一种怎样的体验?/" + str(filcount) + "-" + name)filcount = filcount+1jpgcount = 0 #文件夹内照片序号,每次重新建立文件夹重新置零for m in range(0,len(jpgurl),2):picture = request.urlopen(jpgurl[m]).read()with open("C:/Users/23504/Desktop/Python知乎数据/知乎话题:日常穿JK制服是一种怎样的体验?/" + str(filcount-1) + "-" + name + "/" + str(jpgcount)+"-"+str(count)+ ".jpg",'wb') as file:file.write(picture)print("正在下载第"+str(filcount)+"个回答--回答者昵称:"+name+"--回答者ID:"+str(ID)+"--"+"问题:"+question+"--第" + str(count) + "张图片下载完成")jpgcount = jpgcount + 1count = count+1except:print("url链接无效")
if __name__ == "__main__":getPicture()

python爬取知乎话题:日常穿jk制服是怎样一种体验?下的所有图片相关推荐

  1. python爬取知乎话题广场_知乎一共有多少个话题?

    上图可知,它是通过请求POST接口来取得知乎话题数据,接口信息: 其中topic_id指大分类下的id,offset是指偏移量,指每次执行next方法加载的子话题数量,hash_id可以为空我们暂时忽 ...

  2. python爬取知乎话题广场_学习python爬虫---爬虫实践:爬取B站排行榜2(爬取全部分类排行榜、利用pygal库作图)...

    前面我们爬取了B站上全站的排行榜,详细见:魏勇:学习python爬虫---爬虫实践:爬取B站排行榜​zhuanlan.zhihu.com 一.爬取全部分类排行榜 我们观察一下B站排行榜,那里还有番剧排 ...

  3. python爬取知乎话题_python爬取知乎话题图片

    前言 什么是网络爬虫(也叫网络蜘蛛)?简单来说,是一种用来自动浏览万维网程序或脚本(网络爬虫的典型应用就是我们所熟知的搜索引擎).既然如此,那么我们也可以写一个程序,用来自动浏览或者获取网页上的信息. ...

  4. python爬取知乎话题:你见过最搞笑的视频有哪些?下的所有视频

    ①打开知乎话题 https://www.zhihu.com/question/21086211 ②打开开发者工具,构造Request url,和上次的爬取照片思路一样(https://blog.csd ...

  5. python爬取知乎话题广场_用于爬取知乎某个话题下的精华问题中所有回答的爬虫...

    思路 我的整个算法的思路还是很简单的,文字版步骤如下: 1.通过话题广场进入某个话题的页面,避免了登陆注册页面的验证,查找到对应要爬取的话题,从 url 中得到话题id 2.该页面的所有资源采用了延迟 ...

  6. python爬取知乎话题的精华问题下的用户信息

    今天试着用自己的爬虫代码爬取了知乎[同性恋]话题下的所有精华问题的用户位置信息 代码: __author__ = 'yang' # -*- coding: utf-8 -*-import config ...

  7. python爬虫实战(一)--爬取知乎话题图片

    原文链接python爬虫实战(一)–爬取知乎话题图片 前言 在学习了python基础之后,该尝试用python做一些有趣的事情了–爬虫. 知识准备: 1.python基础知识 2.urllib库使用 ...

  8. 如何用python爬取数据_如何使用python爬取知乎数据并做简单分析

    原标题:如何使用python爬取知乎数据并做简单分析 一.使用的技术栈: 爬虫:python27 +requests+json+bs4+time 分析工具: ELK套件 开发工具:pycharm 数据 ...

  9. python爬取知乎热榜了解时事

    python爬取知乎热榜了解时事 需求 ​ 知乎热榜是我们了解时事的一个重要途径,但是如果我们每天没有那么多时间来刷知乎,但是还是想要了解知乎热榜的话,我们该怎么办呢?在这里,我想到了通过知乎爬虫的手 ...

最新文章

  1. java 月第一天_java获取当前月第一天和最后一天
  2. Servlet程序自动加载
  3. 箭头标线的类型和面积
  4. K-means的缺点(优化不仅仅是最小化误差)
  5. 允许网站使用相机和麦克风_手机使用应用时总是需要获取权限,这3个权限不能随意给,望周知...
  6. linux与磁盘相关的内容
  7. 孕妇能长期在计算机屏幕前工作吗,怀孕了在电脑前工作怎么办
  8. 时速云入选2018中国企业服务创新成长50强
  9. 服务器高并发下出现大量的time wait的解决办法
  10. netty的编解码器理解(转)
  11. 使用oracle sql profile固定执行计划
  12. 记某次CTF中Let me in
  13. 要不要借钱给好朋友?救急不救贫
  14. 翻译:《CSS权威指南》(第3版)-概览和目录部分
  15. ad转3d视图快捷键_AD 常用快捷键
  16. 项目集与项目群、项目组合的区别
  17. SpringBoot登录验证码实现
  18. 通知栏消息多种提醒方式
  19. 二阶系统表达式 稳态灵敏度
  20. CPU、操作系统的32位与64位

热门文章

  1. linux如何离线安装rdesktop,rdesktop 的安装使用
  2. 微信小程序(页面获取组件实例对象来操做组件)
  3. 如何提高研发产品质量
  4. 配准工具SimpleElastix安装详细步骤(Python版)
  5. 三种方法解决 Failed to start LSB: Bring up/down networking 问题
  6. java文件上传以及上传至FastDFS
  7. Zookeeper详细介绍+dubbo简单介绍+简单大白话讲解
  8. ipo 增量发行 存量发行
  9. Device eth1 has different MAC address
  10. postgre连接符