千家信息网

怎么用requests爬取漂亮照片

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容主要讲解"怎么用requests爬取漂亮照片",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用requests爬取漂亮照片"吧!selenium
千家信息网最后更新 2025年02月02日怎么用requests爬取漂亮照片

本篇内容主要讲解"怎么用requests爬取漂亮照片",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用requests爬取漂亮照片"吧!

selenium是什么?


selenium自动化浏览器。就是这样!你如何运用这种力量完全取决于你自己。它主要用于自动化web应用程序以进行测试,但当然不限于此。无聊的基于web的管理任务也可以(也应该)自动化。


一些大型浏览器厂商已经(或正在)采取措施使Selenium成为其浏览器的本地部分,这些厂商支持Selenium。它也是无数其他浏览器自动化工具、api和框架的核心技术。


可以说selenium的本职工作并不是用来爬虫的,而是用于自动化Web应用程序的测试目的。所以用selenium来爬知乎上面的图其实是一种比较剑走偏锋的做法,这也解释为了为什么爬取量不是很乐观。


什么是Requests

来看看 Requests的文档:Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。

从这个幽默的介绍中,不难看出来Requests作者对于Requests非常有自信,我们用Requests爬知乎图片也刚好验证了这一点。



爬起来!


我们按照惯例简要说明一下爬虫步骤:


0 1
找到相关的问题,获取问题id


如上图所示,我们需要的id就在红色框线里面。



0 2
用requests解析网页


核心代码:


get_url = 'https://www.zhihu.com/api/v4/questions/'+id+'/answers?include=data[*].is_normal,admin_closed_comment,reward_info,is_collapsed,annotation_action,annotation_detail,collapse_reason,is_sticky,collapsed_by,suggest_edit,comment_count,can_comment,content,editable_content,voteup_count,reshipment_settings,comment_permission,created_time,updated_time,review_info,relevant_info,question,excerpt,relationship.is_authorized,is_author,voting,is_thanked,is_nothelp;data[*].mark_infos[*].url;data[*].author.follower_count,badge[*].topics&limit=5&offset='+str(offset)+'&sort_by=default'
header = { 'User-Agent': "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0", 'Host': "www.zhihu.com", }
r = requests.get(get_url, verify=False, headers=header) content = r.content.decode("utf-8") txt = json.loads(content)


我们把网页信息解析到了txt中。


0 3
匹配获得图片地址


核心代码:


imgUrls = re.findall(r'data-original="([^"]+)"', str(txt))imgUrls = list(set(imgUrls))for imgUrl in imgUrls:            try:                splitPath = imgUrl.split('.')                fTail = splitPath.pop()                print(fTail)                if len(fTail) > 3 :                    fTail = 'jpg'                fileName = path +"/" + str(number) + "."+fTail                                img_data = urllib.request.urlopen(imgUrl).read()


在获取txt后,我们需要用正则表达式匹配图片的地址,然后根据这个地址下载图片到本地。

到此,相信大家对"怎么用requests爬取漂亮照片"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

自动化 图片 浏览器 浏览 漂亮 照片 代码 地址 核心 安全 内容 厂商 应用程序 文档 爬虫 程序 网页 问题 学习 应用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 工信部网络安全宣传周 广东乐拼互联网科技 从云原生数据库到企业 侍意网络技术服务有限公司 网络安全怎么写文字 计算机的网络安全是什么安全 淄博服务器收费标准 星沙计算机软件开发培训学校 电脑和网络技术利与弊 网络安全的手抄报简单好看a3 鬼魂服务器ip怎样填 网民对网络安全的认识 华为服务器 虚拟化 长治软件开发行业标准 校园网络安全培训学习体会 什么叫本地数据库 数据库系统基础 初级篇 工业互联网网络安全服务平台 重庆什么是软件开发创新服务 sql数据库io优化 怎么看论文所在的数据库 崇明区综合软件开发信息中心 数据库开发培训大计学校高超 运行找到打印机服务器 数据库连接不上问题排查 手游pubg服务器存在网络问题 山西定制化国产服务器厂家 什么是网络安全功能 苏州达梦数据库有限公司怎么样 数据库实习
0