xpath爬取美女图片

xpath爬取美女图片尝试了一下用xpath爬取图集谷上面的美女图片,这次选择的是阿朱小姐姐,下面详细介绍如何爬取该网站中阿朱小姐姐的全部套图。网址如下:https://www.tujigu.com/t/437/

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

尝试了一下用xpath爬取图集谷上面的美女图片,这次选择的是阿朱小姐姐,下面详细介绍如何爬取该网站中阿朱小姐姐的全部套图。

网址:https://www.tujigu.com/t/437/

页面长这样:

xpath爬取美女图片

可以看到里面有很多套图,所以这个程序的思路就是先从首页爬取所有套图的地址,然后再从套图中获取每一张图片的地址,具体程序如下:

import requests
from lxml import etree
import os
# 创建一个文件夹用来存图
if not os.path.exists('./azhutaotuLibs'):
    os.mkdir('./azhutaotuLibs')
# UA伪装
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
url = 'https://www.tujigu.com/t/437/'
# 爬取首页信息
page_text = requests.get(url=url, headers=headers).text
# 从首页信息中解析出每个套图的地址
tree = etree.HTML(page_text)
taotu_list = tree.xpath('//div[@class="hezi"]/ul/li')
# 创建一个列表存储套图地址
all_taotu_adress = []
# 下面解析出的地址是每个套图首页的地址,但不是完整的地址
for li in taotu_list:
    taotu_adress = li.xpath('./a/@href')[0]
    all_taotu_adress.append(taotu_adress)
    # 每个套图第二页往后的地址无法从首页中解析,因此需要手动进行拼接
    taotu_fy = taotu_adress + '%d.html'
    # 根据经验每个套图最多不超过20页,因此range的范围写到21
    for pagenum in range(1, 21):
        taotu_ok = format(taotu_fy % pagenum)
        all_taotu_adress.append(taotu_ok)

# 获取每一张图片的地址
for key in all_taotu_adress:
    new_url = key

    img_page = requests.get(url=new_url, headers=headers).text

    new_tree = etree.HTML(img_page)
    detail_page = new_tree.xpath('//div[@class="content"]/img')
    for detail in detail_page:
        img_src = detail.xpath('./@src')[0]
        img_name = detail.xpath('./@alt')[0]+'.jpg'
        img_name = img_name.encode('iso-8859-1').decode('utf-8')
        img_data = requests.get(url=img_src, headers=headers).content
        img_path = './azhutaotuLibs/' + img_name
        with open(img_path, 'wb') as fp:
            fp.write(img_data)
            print(img_name, '下载成功')

因为阿朱小姐姐的套图一共就两页所以我懒得做分页了,爬取第二页直接换url就行

第二页地址:https://www.tujigu.com/t/437/index_1.html

全部爬取完了,东西还挺多的

xpath爬取美女图片

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157839.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月27日 上午9:46
下一篇 2022年7月27日 上午10:00


相关推荐

  • JAVA输出语句及变量

    JAVA输出语句及变量语句输出格式一 println 带有换行效果格式二 print 不带换行效果 语句是程序执行的最小单元 是以 结束的 System out println 输入快捷方法 输入 sout 或 syso 然后按 Ait 在回车 publicstatic String args 输入快捷方法 输入 main 然后按 Ait 在回车 在

    2025年12月5日
    8
  • linux 编译安装GCC4.9.3(完整版)「建议收藏」

    linux 编译安装GCC4.9.3(完整版)「建议收藏」第一步首先下载gcc源码包wgethttp://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2第二步将下载好的文件放在非root用户也有读权限的地方,例如/home/myuser或者/usr/gcc-build/下面第四步我会讲为什么要这么做.第三步解压文件,做一些准备工作tar

    2022年5月25日
    37
  • Django(55)GenericAPIView源码分析

    Django(55)GenericAPIView源码分析源码分析GenericAPIView继承自APIView,也就是在APIView基础上再做了一层封装,源码如下:classGenericAPIView(views.APIView):query

    2022年7月31日
    10
  • pickle.dump和pickle.load

    pickle.dump和pickle.loadpython 的 pickle 模块实现了基本的数据序列和反序列化 通过 pickle 模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去 永久存储 通过 pickle 模块的反序列化操作 我们能够从文件中创建上一次程序保存的对象 基本接口 pickle dump obj file protocol 注解 将对象 obj 保存到文件 file 中去 protocol 为序列化使用的协议

    2026年3月19日
    2
  • statickeyword于C和C++用法

    statickeyword于C和C++用法

    2022年1月14日
    57
  • html列表嵌套

    html列表嵌套Title 目录贴吧导航大事记载等级制度实名制度特点分析品牌价值手机贴吧贴吧客户端贴吧智能版平台推广官方平台贴吧推广列表嵌套 无序嵌套在有序中 直接在大的里面 根据

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号