IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 老司机,带你用30行代码爬取高清美女写真,附安装包+源码 -> 正文阅读

[Python知识库]老司机,带你用30行代码爬取高清美女写真,附安装包+源码

1、准备工作

首先需要一个相亲网站的账号,我这里选取的是“我主良缘”。注册登陆就可以了:

1 高清壁纸:https://www.36992.com/girls/list-1.html

2 Python环境

Python3.9新特性:
字典“并集”运算符
类型提示的改善
装饰器语法更加灵活
classmethod 支持包装其他描述器
新增模块、函数、方法
Python官网下载:https://www.python.org/

3 PyCharm编译器

优点:
1 )每个文件都有其输出窗口
2 )可以终止进程(只要点下按钮就行)
3 )各种提示超强:
①没用的变量颜色会变灰
②用错了的变量下面会有红色波浪线
③书写提示

4 )索引功能超强,
PyCharm官网下载:https://www.jetbrains.com/pycharm/download/#section=windows

4 requests,lxml库安装

Requests:

打开cmd命令管理器,输入pip install requests,显示如下图则安装成功。
在这里插入图片描述

lxml:

打开cmd命令管理器,输入pip install lxml,显示如下图则安装成功。
在这里插入图片描述

2 、代码和效果展示

1 >代码

import requests
from lxml import etree
import time


def down_image( page ):
    print(f'页面{page},开始')
    t1 = time.time()
    # page页面跳转
    url = f'https://www.36992.com/girls/list-{page}.html'
    resp = requests.get(url)
    resp.encoding = 'gbk'
    with open('index.html', 'wb') as f:
        f.write(resp.content)
    tree = etree.HTML(resp.content)

    # 页面标签,XPath的高级用法,相对路径
    node_list = tree.xpath('//dd')

    sub_url_list = []
    for node in node_list:
        # 获取网页路径,加if是规范写法
        if len(node.xpath('./a/img/@src')) > 0:
            img_url =str(node.xpath('./a/img/@src')[0]).replace("pic_360","pic")
            # print(sub_url)
        # 获取图片名称及格式,加if是规范写法
        if len(node.xpath('./a/img/@title')) > 0:
            title = node.xpath('./a/img/@title')[0]
            sub_url_list.append((img_url, title))
    #
    # exit(2)
    # 开始保存图片
    for sub_url, title in sub_url_list:
        suffix = sub_url.split('.')[-1]
        img_content = requests.get(sub_url).content
        with open(f'D:/123/456/{title}.{suffix}', 'wb') as f:
            f.write(img_content)
            f.close()
    print(f'页面{page},完成')


if __name__ == '__main__':
    for page in range(1,60):
        down_image(page)

2 >效果

在这里插入图片描述

3 、知识点

1 >路径解析

第一页:https://www.36992.com/girls/list-1.html
在这里插入图片描述
第二页:https://www.36992.com/girls/list-2.html
在这里插入图片描述
规律:url = f’https://www.36992.com/girls/list-{page}.html’

扩展知识点:HTTP协议

2 >审查元素

img:

在这里插入图片描述

扩展知识点:HTML

3 > XPath定位

基本概念

1 )绝对路径:绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。

node.xpath(’./a/img/@src’)

优点:解析简单;
缺点:呆板,不能阻止页面变化

在这里插入图片描述

2 )相对路径:由这个文件所在的路径引起的跟其它文件的路径关系。

node_list = tree.xpath(’//dd’)
优点:灵活,可以根据元素属性绑定(id,class,层级),不担心,页面变化
缺点:执行时,需要解析,消耗时间。
在这里插入图片描述

扩展知识点:XPath关系属性

4 > 自定义函数:def down_image( page ):

1 )函数是组织好的。
2 )可重复使用的。
3 )用来实现单一,或相关联功能的代码段。
4 )函数能提高应用的模块性,和代码的重复利用率。
5 )你已经知道Python提供了许多内建函数,比如print()。
6 )你也可以自己创建函数,这被叫做用户自定义函数。
在这里插入图片描述

扩展知识点:类的继承

4.总结

用Python实现一个小功能很简单,只要仔细跟着教程一步步操作,依葫芦画瓢,就可以做到。

掌握基础知识,可以更快速的帮助你举一反三。

由于篇幅受限,大量跟爬虫相关的,HTTP、web、HTML、自动化的知识,可以用于反爬,反反爬,这里不一一展开了。点击关注,持续更新。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:18:43  更:2021-08-11 12:19:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 10:04:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码