**喜欢刷知乎的同志们会知道知乎里好看的壁纸有很多,今天笔者就把它全爬下来。

问题链接:https://www.zhihu.com/question/308072414/answer/581633043
打开知乎的这个回答下拉右边的滑动框,不难发现这个网页是动态加载的,打开f12分析请求所有的回答都被写入了js每当下拉框拉到最底部客户端就会发出一个请求,然后服务器返回js文件。再次观察这个请求url,它们的数据基本一样唯一不一样的就是最后的offset值,每个请求offse值加5。
分析到这就有思路了,根据规律构造请求的url然后进行循环,可是问题又来了,循环多少次呢?然后用浏览器打开请求看下(我建议用火狐打开,结构清晰明了)会发现有个is_end字段,当字段的值是false的时候请求是可用的也就是说服务器会返回图片信息,当字段值为true服务器对于此请求不返回需要的信息。好了循环的时候只需要查看一下is_end的字段值就可以确定什么时候结束训话。中间的部分肯定就比较简单了,返回的js文件是json类型的,首先要给它loads一下。然后匹配图片再保存到文件夹就行了。**

首先构造请求头:

header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36','cookie':  ' ' #  加上自己的cookie值
}

创建文件夹:

path_file = 'F:/知乎壁纸/img'
if not os.path.exists(path_file):os.makedirs(path_file)
else:print('路径不存在')

构造url:

k = 0
i = 3
while True:url = 'https://www.zhihu.com/api/v4/questions/308072414/answers?include=data[*].' \'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[*].' \'mark_infos[*].url%3Bdata[*].author.follower_count%2Cbadge[*].' \'topics&limit=5&offset={}&platform=desktop&sort_by=default'.format(str(i))

接下来就是用匹配信息找到图片链接进而保存在文件夹下:

etree_pic = html.etreecodes = etree_pic.HTML(pic_link_codes)link = codes.xpath("//figure/noscript/img/@src") #  用xpath匹配所有的图片链接file_name_path = str(k) + '.jpg'for lin in link:  # 遍历链接file_name_path = str(k) + '.jpg'request.urlretrieve(lin, filename=path_file + os.sep + file_name_path) # 保存在当地文件夹下k = k + 1print('正在打印第' + str(k) + '张壁纸') print(lin)except Exception as e:print(e+'\''+'没有您需要请求的内容')else:continue

打开你的文件夹就发现你要的精美壁纸都在里边

知乎里那些绝美的壁纸在这里!相关推荐

  1. 背景从上到下颜色渐变_艺术涂料里那些绝美的渐变色

    听说今年秋冬时尚界都在宠爱渐变色,那我也给大家盘一盘墙面装饰的一些绝美渐变色.我们在装饰房间的时候,有时一个颜色会腻,多个颜色易乱,两个颜色有点变化刚刚好.于是渐变色这种富有想象力的色彩组合在室内设计 ...

  2. 安利2款绝美的壁纸软件,超好用!

    相信很多年轻人都喜欢换壁纸,纠结于哪一款壁软件,甚至为了找壁纸乐此不疲,那么对于这些选择困难者下面这两款壁纸绝对惊艳,高清绝美来袭,从此让你的Mac从此独一无二,跟着小编来看看吧~ Wallpaper ...

  3. 用Flutter + Dart快速构建一款绝美移动App

    作者 | Wojciech Kuroczycki 译者 | 弯月 来源 | CSDN(ID:CSDNnews) 如今,与前端或移动相关的新框架层出不穷.所有从事Web开发的人都应该熟悉各种目不暇接的新 ...

  4. 【AI绘画】绝美春天插画,人人都是插画师

    春天,自然界重新苏醒,生机勃勃,百花争艳,万籁俱寂.一切都被新的生命活力所染上.春风拂面,一股清新的空气流过,仿佛带着一种神秘的力量,让人心旷神怡,心情舒畅.轻松愉悦. 突然,一股灵感爬进脑海,我连忙 ...

  5. 深圳十大绝美看海圣地|深圳海边一日游攻略

    深圳大鹏十大海景你们都去过了吗? 小编花时间整理了出来 赶紧收藏起来 你一定用得着 1.南澳第一沙滩 深圳版"马尔代夫",这里的海水清澈见底,沙滩旁边一排排五颜六色的民宿,有种小古 ...

  6. 安化云台山风景区的绝美景点,你去过几个?

    云台山风景区上景点众多,粗略一数都有数十个景点,对于那些有选择恐惧症的人来说,选择是最困难的事,面对众多景点犹豫忧愁是常态,为了让那些有选择恐惧症的人群在安化云台山风景区拍到最美的景色,小编特此盘点山 ...

  7. 020 智能仓储物流系统里的各种“美”

    020 智能仓储物流系统里的各种"美" 美在生活中无处不在.人们常说生活中不缺美,缺的是发现美的眼睛.IT界的码农们常常会顶礼膜拜某些代码大神,说代码大神当年写的什么什么代码多么的 ...

  8. java我的世界光影_我的世界绝美光影1.7.10下载_我的世界绝美光影整合包下载-安卓下载...

    我的世界绝美光影整合包是一款非常不错的关于光影优化的整合包哦,使用了这款整合包可以帮助你在我的世界的游戏里能有更好的视觉体验呢,可以非常直观的体验到光影的美妙之处!~! 我的世界绝美光影整合包游戏介绍 ...

  9. javaScript蓝桥杯----绝美宋词

    目录 一.介绍 二.准备 三.目标 四.代码 五.踩坑 六.完成 一.介绍 "今宵酒醒何处,杨柳岸晓风残月","蓦然回首,那人却在灯火阑珊处","试问 ...

最新文章

  1. C++ 笔记(11)— 循环(while/for/do while/嵌套循环、break/continue/goto 循环控制语句)
  2. python从入门到精通怎么样-Python从入门到精通:一个月就够了
  3. 最长公共子序列问题LCS
  4. mysql服务器权限说明,MySQL用户权限管理详解
  5. JAVA对象JSON数据互相转换的四种常见情况
  6. 【简●解】POJ 1845 【Sumdiv】
  7. FireEye红队失窃工具大揭秘之:分析复现Zoho ManageEngine RCE (CVE-2020-10189)
  8. bzoj 1647: [Usaco2007 Open]Fliptile 翻格子游戏(枚举)
  9. 计算机组装 毕业设计,毕业设计(论文)--计算机组装与维护 .doc
  10. 详解样条曲线(上)(包含贝塞尔曲线)
  11. rpgmv存档修改html_使用HTML5存档网站内容更改
  12. 数据预处理---将文本属性标签转换为数字标签的方法
  13. CAD学习之CASS快捷键
  14. 一个能防止改名木马漏洞的无组件上传类
  15. linux oracle 失败怎么办,Linux开机报错unable to load selinux policy怎么办?
  16. android7.1解包打包工具,万能解包提取器Universal Extractor v1.7下载
  17. 个人笔记,深入理解 JVM,很全!
  18. 【SQLServer】用SQL语句更改数据库名,表名,列名
  19. cdn cfdn是什么_P2P+CDN=PCDN
  20. mysql records_MySQL 基本操作 · LYF_Records

热门文章

  1. “量子霸权”道路上的是与非,物理学家如何做到“信达雅”?
  2. window server 2012 r2 安装卸载sqlserver 2012
  3. ArcGIS批量等距离分割线(构造点)20200903——GIS思维
  4. 【微博SDK调用逻辑】微博SDK的调用逻辑,最好自己还是写一个例子,试一下!!!...
  5. Flash Lite 1.1
  6. Github搜索骚技巧,快速查找优质开源项目
  7. 处理 CAD 打开文件时 不显示对话框
  8. Hive--hive一种通用的上亿级别的去重方法
  9. 李子柒的视频为什么这么吸引人?对她在B站上发布的视频进行分析
  10. ap pdf to html 注册码,AP PDF to IMAGE Batch Converter(PDF转JPG工具)V4.2 免费版