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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2 NICs on same subnet

    2 NICs on same subnet

    2021年8月12日
    65
  • 字节跳动面经(一、二、三+大boss+hr面)

    字节跳动面经(一、二、三+大boss+hr面)先介绍一下,本科和研究生都不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,字节的游戏专场又是最早开始的,就投递了,投递的是游戏测试开发岗(非测试岗),字节是自己投的第一家公司,也是第一家笔试面试的公司,面试官应该都是上海部门的,三轮面试都是视频面,面试时间是从下午5:30到9:30,一共是四个小时多一点吧(含每轮之间的等待时间…

    2022年5月25日
    488
  • Laravel Form-builder使用

    Laravel Form-builder使用

    2021年10月21日
    119
  • 详细AutoEventWireup <@ Page language=c# AutoEventWireup=”false”和“True”>的研究

    详细AutoEventWireup <@ Page language=c# AutoEventWireup=”false”和“True”>的研究@Page里面的属性是ASP.NET页面中最基础的组成部分。可也包涵了很多麻烦在里面,因为种种原因导致必须研究一下这个属性AutoEventWireupAutoEventWireup用我的理解方式是这样:(Auto解释是自动,Event解释是事件,Wire解释关联结构模式,up解释是在上面)个人理解的方式来推断这个属性所实现的功能。首先,从浏览器触发的事件不能理科在本地得

    2022年5月27日
    34
  • navicat premium 15 J激活码_在线激活[通俗易懂]

    (navicat premium 15 J激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    107
  • createthread函数详解_createremotethread

    createthread函数详解_createremotethreadCreateRemoteThread和WriteProcessMemory技术示例程序:WinSpy另一种注入代码到其他进程地址空间的方法是使用WriteProcessMemoryAPI。这次你不用编写一个独立的DLL而是直接复制你的代码到远程进程(WriteProcessMemory)并用CreateRemoteThread执行之。让我们看一下CreateRemoteThread

    2022年9月13日
    2

发表回复

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

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