如何用python脚本采集某网图片
一、前言:
今天学了两个工具urlopen 和etree,这两个小工具至关重要。urllib.request模块提供了最基本的构造HTTP请求的方法,利用它可以模拟浏览器的一个请求发起过程,同时它还带有处理授权验证(authenticaton)、重定向(redirection)、浏览器Cookies以及其他内容,etree.HTML()可以用来解析字符串格式的HTML文档对象,将传进去的字符串转变成_Element对象。作为_Element对象,可以方便的使用getparent()、remove()、xpath()等方法。
如果想通过xpath获取html源码中的内容,就要先将html源码转换成_Element对象,然后再使用xpath()方法进行解析。
二、需求描述:
采集一个网站的枪的图片文件。
三、逻辑分析:
1.获取目标网址,并且用代码获取对应的HTML文件;
2.在HTML中筛选需要的资源内容,比如图片:img(也可以是文字,视频,音频等)
3.下载保存该资源
四、完整代码
1 from urllib.request import urlopen 2 from lxml import etree 3 html文件=urlopen('https://*&*&*()……&*……&*……*&……*&') 4 html文件中的内容=html文件.read().decode('GBK') 5 标准化后的img标签=etree.HTML(html文件中的内容) 6 print(标准化后的img标签) 7 符合要求的img标签=标准化后的img标签.xpath('//div[@id="section-container"]/ul/li/a/img') 8 #可以考虑获取 p标签的内容,也就是枪的名称 9 # print(符合要求的img标签) 10 for 一个img标签 in 符合要求的img标签: 11 src的值=一个img标签.get('src') 12 print(src的值) 13 #1. 用加密的字符串作为名称 14 图片的名字=src的值.split('/')[-1] 15 #2. 用实际名称标签p作为名称 16 # 图片的名字= 17 图片网页文件=urlopen('https:'+src的值) 18 图片=图片网页文件.read() 19 with open('imgg/'+图片的名字,mode='wb') as f: 20 f.write(图片) 21 print('下载完毕')
本文来自博客园,作者:小码果,转载请注明原文链接:https://www.cnblogs.com/lsxs-wy/p/15778352.html,谢谢合作!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!