爬取虎牙主播图片

news/2024/7/19 11:05:25 标签: python, pycharm, 爬虫

本例中使用第三方库requests、lxml

在命令行中输入

pip/pip3 install requests
pip/pip3 install lxml

如下图所示

 本次实例比较简单 注释中每一步写的也很详细 所以我们直接上代码

demo.py

import requests
from lxml import etree

# 找到抓取目标的所在位置   知道网址
url = 'https://www.huya.com/g/4079'

# 从网址中抓取
response = requests.get(url)
# print(response.text)

# 对得到的数据进行筛选工作
html = etree.HTML(response.text)   # 打包代码
# print(html)
image_list = html.xpath('//img[@class="pic"]')   # 得到所有图片的标签
# print(image_list)

# 把一组标签拆分为单个标签
for image_data in image_list:
    image_url = image_data.xpath('./@data-original')[0]     # 从单个标签中抽取出图片链接
    image_url = image_url.split('?')[0]     # 剪掉链接中?后面的所有数据
    # print(image_url)
    image_name= image_data.xpath('./@alt')[0]      # 获取主播名字的文字信息

    # 把图片数据保存到电脑上 文件操作
    image = requests.get(image_url)     # 请求图片数据内容

    with open('./%s.jpg' % image_name, 'wb') as file:      # 创建一个空白的图片文件
        file.write(image.content)      # 向空白的图片文件里写入得到的图片数据

    print(' 《%s》 下载成功!' % image_name)

在这里提醒我们的男同胞们注意身体哦!!!


http://www.niftyadmin.cn/n/510223.html

相关文章

各种语言的hello world,看看你都写对了吗?

1. 编程语言之首——Java public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!");} } 2. 嵌入式领域的王者——C语言 #include<stdio.h>int main(void) {printf("Hello World!\n");return 0; } …

Python实现图像的全景拼接

基本介绍 图像的全景拼接&#xff0c;即“缝合”两张具有重叠区域的图来创建一张全景图。其中用到了计算机视觉和图像处理技术有&#xff1a;关键点特征检测、局部不变特征、关键特征点匹配、RANSAC(Random Sample Consensus&#xff0c;随机采样一致性)和透视变形。 具体步骤…

第二次网页前端培训笔记(HTML表单和字符实体)

一、HTML表单 表单是一个包含表单元素的区域。表单元素是允许用户在表单中输入内容&#xff0c;比如&#xff1a;文本域 (textarea)、下拉列表、单选框 (radio-buttons)、复选框 (checkboxes)等等。表单使用表单标签 <form> 来设置: <form>input elements</fo…

第三次网页前端培训笔记(CSS基础和选择器)

一、CSS基础 如果学习CSS则要首先学习HTML&#xff0c;CSS是指层叠样式表&#xff0c;首先要了解CSS的基础语法&#xff0c;包括id和class选择器&#xff0c;创建&#xff0c;背景&#xff0c;文本&#xff0c;字体&#xff0c;链接样式&#xff0c;列表样式&#xff0c;表格&…

第四次网页前端培训笔记(CSS常用属性和盒子模型)

一、CSS属性 文字属性、颜色属性、盒子阴影和文字阴影、背景相关属性、边框属性、内外边距属性 1.文字属性 font-style : 取值 规定文字的样式 normal &#xff1a; 正常的&#xff0c; 默认就是正常的 italic &#xff1a; 倾斜的 font-weight : 取值 规定文字的粗细 …

第五次网页前端培训笔记(JS变量、数据类型、类型转换)

一、JS变量 变量必须以字母开头 变量也能以 $ 和 _ 符号开头&#xff08;不过我们不推荐这么做&#xff09; 变量名称对大小写敏感&#xff08;y 和 Y 是不同的变量&#xff09; 注&#xff1a;JavaScript 语句和 JavaScript 变量都对大小写敏感。 声明&#xff08;创建&a…

第六次网页前端培训笔记(运算符、数组、函数定义、函数调用)

一、运算符 算术运算符、赋值运算符、字符串连接运算符 运算符 用于赋值 运算符 用于加值 1.算术运算符 运算符 用于给 JavaScript 变量赋值。 算术运算符 用于把值加起来。 <!DOCTYPE html> <html> <head> <meta charset"utf-8">…

第七次网页前端培训笔记(JS对象和事件)

一、JavaScript对象 JavaScript 中的所有事物都是对象&#xff1a;字符串、数值、数组、函数 JavaScript 允许自定义对象。 1.所有事物都是对象 JavaScript 提供多个内建对象&#xff0c;比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。 布尔型可…