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爬取美女图片

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 企业使用it人力外包可以解决哪些问题

    企业使用it人力外包可以解决哪些问题随着大数据、云计算等互联网技术的应用和普及,很多传统企业为了提升竞争力都在加紧进行数字化转型,而数字化转型离不开各类it人才。很多企业都会通过和it人力外包公司合作来大量引进it人才。那么企业和it人力外包公司合作可以解决哪些问题呢?一、使用it人力外包可以节省成本通常很多企业可能一年开发不了几次软件,如果自己建立一个应用程序软件开发部门,将花费很多费用。使用it人力外包,让it人员进行现场开发,工作完成并且项目结束后可以离开。it人力外包公司承担这些it外包人员招聘成本,员工试用风险,某些员工

  • java 向上取整方法 Math.ceil() 用法、源码分析

    java 向上取整方法 Math.ceil() 用法、源码分析刷题用到了,正好好好看看源码。

  • DatabaseMetaData的简单使用

    DatabaseMetaData的简单使用在看大佬写的一个导出数据库建标脚本的接口的时候,发现频频用到DataBaseMetaData这个类,之前也没有用过这个类下的API,记录一下心得用法。DatabaseMetaData是java.sql包中的接口,利用它可以获取我们连接到的数据库的结构、存储等很多信息;先上个API文档:这英文看的是心力憔悴,直接来看这个接口…

  • string转换为jsonarray_jsonobject转jsonarray

    string转换为jsonarray_jsonobject转jsonarray//创建JSONArray,把JSONObject放到JSONArrayJSONArrayja=newJSONArray();//获取JSONArrayJSONArrayitems=response.getJSONArray(“items”);if(!items.isEmpty()){//获取JSO…

  • 一文说清文本编码那些事

    一文说清文本编码那些事

    2020年11月20日
  • c# 加壳工具推荐[通俗易懂]

    c# 加壳工具推荐[通俗易懂]当前C#.net语言的应用范围越来越广泛,IIS的服务器架构后台代码、桌面应用程序的winform、Unity3d的逻辑脚本都在使用。C#.net具备强大的便捷特性,使得开发成本极低。而作为一款.net语言,也有它让开发者头疼的弊病——非常容易被反编译。市面上的Dnspy,ILspy,de4dot等工具可以非常容易反编译出被混淆保护的C#.net程…

发表回复

您的电子邮箱地址不会被公开。

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