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获取图片信息小栗子相关推荐

  1. Python调用IFTTT小栗子

    关于发送通知的内容.我之前几篇文章里说了几种方法: 1.邮箱 文章地址 2.企业微信 文章地址 这里讲另一种方法:IFTTT(IF THIS THEN THAT) 他是国外的一个自动化软件.可以根据设 ...

  2. python获取当前目录_又有几个Python小技巧分享

    今天这篇文章为大家带来几个Python使用的小技巧: 快速生成依赖文件 文件路径处理 通过set将对象去重 单元测试unitest捕获异常 快速生成依赖文件 Python通过requirements. ...

  3. python女性素描_用Python获取海量素描风格的小姐姐!这也太好看了吧!

    素描作为一种近乎完美的表现手法有其独特的魅力,随着数字技术的发展,素描早已不再是专业绘画师的专利,今天这篇文章就来讲一讲如何使用python批量获取小姐姐素描画像.文章共分两部分: 第一部分介绍两种使 ...

  4. python画黑白线条_用Python获取海量素描风格的小姐姐

    1 获取素描图的两个思路 本部分介绍的两个思路都是基于opencv来实现,不涉及深度学习相关内容(需要安装opencv-python库,参见 OpenCV-Python,计算机视觉开发利器).基本思想 ...

  5. python开发微信小程序-Python 开发者的微信小程序开发实践

    导读 在知乎上,有人提问"如何使用 Python 开发微信小程序". 其实微信小程序作为一个前端的机制,Python 并不能插上边.只不过可以作为后端接口为微信小程序提供数据服务而 ...

  6. flask 自动换背景,使用python获取bing每日壁纸当作登陆背景图片

    欢迎关注原创视频教程 Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.c ...

  7. b站看那个的python_用Python获取B站播放历史记录 !男友居然天天背着我看这些!...

    今天Geek专栏为大家带来 乐聚机器人王松博士的 "用Python获取B站播放历史记录" 最近 B 站出了一个年度报告,统计用户一年当中在 B 站上观看视频的总时长和总个数.过去一 ...

  8. python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例

    这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...

  9. python获取系统时间月份_python 取数组绝对值python获取当前日期

    今天群里一个人问了怎么获取当前时间的问题,以前接触过计算日期之差的,具体代码如下: import datetime d1=datetime.datetime(2014,3,14) d2=datetim ...

最新文章

  1. Vyond制作2D动画学习教程
  2. Java虚拟机中获得Runtime实例的方法是什么?
  3. Android如何更新app的版本(中级)
  4. xp计算机管理窗口,我的xp系统在“打开”窗口中没有“我的电脑”一项,只有界面、我的文档和界面,怎办?...
  5. SVG脚本编程简介(转)
  6. OllyDbg完全教程
  7. 1134:合法C标识符查
  8. 汇编烧程序进单片机要什么软件_单片机编程语言及应用技巧解析
  9. Android之DiskLruCache(缓存工具)
  10. iPhone XR 2再曝新配色:清新自然 是原谅的味道?
  11. 滚动截屏软件_华为指关节截屏不如三指截屏好用?一步到位,实践出真知
  12. Java harddisk pc cpu,java获得cpu使用率
  13. [Vue-cli3] is a Vue CLI 3 only command and you are using Vue CLI 2.9.6. You may...
  14. css被点击后改变样式,Js 通过点击改变css样式
  15. android音乐播放器flac,五款Android手机FLAC,APE无损音乐播放器
  16. Xcode9 iOS12 支持包
  17. vue 怎么修改 confirm 的文字样式和颜色
  18. java 熄灯问题_遍历搜索空间的例子:熄灯问题
  19. vba筛选出满足条件的数据_VBA专题02:使用代码进行复制操作
  20. 教你App如何上架应用宝----腾讯开放开发平台

热门文章

  1. 软件开发过程与项目管理(13.软件项目集成计划控制)
  2. fifa18 服务器维护,fifa18链接服务器
  3. SpringBoot集成Kafka低版本和高版本
  4. 计算机原理debug,微机原理DEBUG使用.ppt
  5. shell脚本编程 学习笔记
  6. 文件修改默认打开方式的统一解决方法,doc、xls、ppt、jpg、pdf、zip、html等
  7. [52ABP系列] - 002、模板项目配合代码生成器开发
  8. 微信PC版浏览器 打不开网页
  9. 商家提升销量秘籍!商家怎么加入社区团购?
  10. 电脑中的RAR文件怎么样打开