Python获取图片信息小栗子
1.首先我们需要先导入所需要的包,没有的话可以【 pip install ~】 来获取
import requests
from lxml import etree
2.接下来我们要进行UA伪装,伪装的目的就是把电脑伪装成人 因为很多wangzahn都有反扒机制,不进行伪装的话根本就无法进行爬取信
#进行ua伪装
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
3.准备工作已经完成,告诉我们要访问的URL(告诉电脑去哪里执行以下的代码)
URL = 我们所常说的网址
#指定url
url = '网址'
4.有了UA伪装以及URL,接下来我们就要去访问目标网站,把网站源代码给拿下来
#发起请求
resposne = requests.get(url=url,headers=headers)
5.因为网站源码拿下来的时候出现了乱码,所以对乱码进行处理并把无乱码网站源码赋值给data
#获取源码后处理乱码
resposne.encoding='gbk'
data = resposne.text
然后就是开始进行数据解析了
6.将抓取下来的网站源码数据加载etree对象中
tree = etree.HTML(data)
7.然后将使用xpath()函数结合表达式进行标签定位,提取指定内容
我们这里是只要存储图片的<li></li>区域就可以了,有不懂的可以去查一下 很简单的
li_list = tree.xpath('/html/body/div[2]/div[1]/div[3]/ul/li')
1.属性定位
定位div中属性名为href,属性值为‘www.baidu.com’的div标签: @属性名=属性值
/html/body/div[href='www.baidu.com'] href为属性名 'www.baidu.com'为属性值2. 索引定位
在href值a的div标签下有很多的li标签,想要定位到第二个li标签,li标签后面用中括号加索引值(这里的索引值是从1开始的)
/html/body/div[href='a']li[2]3. 取文本内容
/text() 获取标签下直系的标签内容
//text() 获取标签中所有的文本内容
string() 获取标签中所有的文本内容
8.然后就是对该区域进行遍历
#进行遍历
for li in li_list:#获取图片名称以及图片后缀 .jpgname = li.xpath('./a/b/text()')[0] + '.jpg'#获取图片的存储位置,别忘了加上前面的域名(不知道叫啥,前缀)href = 'https://pic.netbian.com/' + li.xpath('./a/img/@src')[0]#这个是再次模仿人去获取图片信息,这次的url是单纯图片存储位置img_response = requests.get(url=href,headers=headers)#这个是对图片信息进行编译img_data = img_response.content
9.经过遍历循环每个图片信息都可以获取,接下来就是进行存储
#上面讲解
for li in li_list:name = li.xpath('./a/b/text()')[0] + '.jpg'href = 'https://pic.netbian.com/' + li.xpath('./a/img/@src')[0]img_response = requests.get(url=href,headers=headers)img_data = img_response.content# print(img_data)
#持久化存储#定义存储位置,我这里是当级目录名字是拼音tupian #注意:tupian后的斜杠一定要添加,这样才可以放入里面img_path = './tupian/' + name#定义打开方式,存储位置 'wb'是因为图片信心为二进制,所以需要加b,b是二进制英语首字母with open(img_path,'wb') as f:f.write(img_data)print(name + '下载成功')
10.然后就是点击运行等待就可以了
Python获取图片信息小栗子相关推荐
- Python调用IFTTT小栗子
关于发送通知的内容.我之前几篇文章里说了几种方法: 1.邮箱 文章地址 2.企业微信 文章地址 这里讲另一种方法:IFTTT(IF THIS THEN THAT) 他是国外的一个自动化软件.可以根据设 ...
- python获取当前目录_又有几个Python小技巧分享
今天这篇文章为大家带来几个Python使用的小技巧: 快速生成依赖文件 文件路径处理 通过set将对象去重 单元测试unitest捕获异常 快速生成依赖文件 Python通过requirements. ...
- python女性素描_用Python获取海量素描风格的小姐姐!这也太好看了吧!
素描作为一种近乎完美的表现手法有其独特的魅力,随着数字技术的发展,素描早已不再是专业绘画师的专利,今天这篇文章就来讲一讲如何使用python批量获取小姐姐素描画像.文章共分两部分: 第一部分介绍两种使 ...
- python画黑白线条_用Python获取海量素描风格的小姐姐
1 获取素描图的两个思路 本部分介绍的两个思路都是基于opencv来实现,不涉及深度学习相关内容(需要安装opencv-python库,参见 OpenCV-Python,计算机视觉开发利器).基本思想 ...
- python开发微信小程序-Python 开发者的微信小程序开发实践
导读 在知乎上,有人提问"如何使用 Python 开发微信小程序". 其实微信小程序作为一个前端的机制,Python 并不能插上边.只不过可以作为后端接口为微信小程序提供数据服务而 ...
- flask 自动换背景,使用python获取bing每日壁纸当作登陆背景图片
欢迎关注原创视频教程 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.c ...
- b站看那个的python_用Python获取B站播放历史记录 !男友居然天天背着我看这些!...
今天Geek专栏为大家带来 乐聚机器人王松博士的 "用Python获取B站播放历史记录" 最近 B 站出了一个年度报告,统计用户一年当中在 B 站上观看视频的总时长和总个数.过去一 ...
- python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例
这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...
- python获取系统时间月份_python 取数组绝对值python获取当前日期
今天群里一个人问了怎么获取当前时间的问题,以前接触过计算日期之差的,具体代码如下: import datetime d1=datetime.datetime(2014,3,14) d2=datetim ...
最新文章
- Vyond制作2D动画学习教程
- Java虚拟机中获得Runtime实例的方法是什么?
- Android如何更新app的版本(中级)
- xp计算机管理窗口,我的xp系统在“打开”窗口中没有“我的电脑”一项,只有界面、我的文档和界面,怎办?...
- SVG脚本编程简介(转)
- OllyDbg完全教程
- 1134:合法C标识符查
- 汇编烧程序进单片机要什么软件_单片机编程语言及应用技巧解析
- Android之DiskLruCache(缓存工具)
- iPhone XR 2再曝新配色:清新自然 是原谅的味道?
- 滚动截屏软件_华为指关节截屏不如三指截屏好用?一步到位,实践出真知
- Java harddisk pc cpu,java获得cpu使用率
- [Vue-cli3] is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You may...
- css被点击后改变样式,Js 通过点击改变css样式
- android音乐播放器flac,五款Android手机FLAC,APE无损音乐播放器
- Xcode9 iOS12 支持包
- vue 怎么修改 confirm 的文字样式和颜色
- java 熄灯问题_遍历搜索空间的例子:熄灯问题
- vba筛选出满足条件的数据_VBA专题02:使用代码进行复制操作
- 教你App如何上架应用宝----腾讯开放开发平台