it编程 > 网页制作 > 网页播放器

爬虫:xpath模块及昵图网实例

350人参与 2024-08-02 网页播放器

xpath模块

from lxml import etree

str1 = """
<div>
    <ul>
         <li class="item-0"><a href="link1.html">first item</a></li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-inactive"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a class="test" href="link5.html">fifth item</a>111</li>
         <li class="item-0" vmid="10023898942">bsajkfhsdbfhjsdgbhfds</li>
     </ul>
 </div>
"""
# 将字符串转化为html对象
strtree1 = etree.html(str1)
print(strtree1.xpath('//li/text()')) #获取所有li里面的内容,这里只能获取直属li里面的内容
print(strtree1.xpath('//li/@class'))
# xpath中的下标,是从1开始的
print(strtree1.xpath('//li[3]/a/@href'))
# xpath中没有负数下标,若从右向左取,利用last获取最后一个 通过减一减二的方式获取倒数第二个倒数第三个
print(strtree1.xpath('//li[last()-1]/text()'))
# 获取指定属性值的标签
print(strtree1.xpath('//li[@class="item-1"]//text()'))

昵图网实例

from requests_html import htmlsession
from lxml import etree

session = htmlsession()
url = 'https://soso.nipic.com/?q=%e7%be%8e%e5%a5%b3'

response = session.get(url)
html = etree.html(response.text)

imgnames = []
imgurls = []
for i in range(1, 6):
    img_name = html.xpath(f'//ul[@id="img-list-outer"]/li[{i}]/a/img/@alt')
    img_url = html.xpath(f'//ul[@id="img-list-outer"]/li[{i}]/a/img/@data-original')
    imgnames.append(img_name[0])
    imgurls.append('https:' + img_url[0])

for i in range(len(imgurls)):
    with open('美女\\' + imgnames[i] + '.jpg', 'wb') as f:
        f.write(session.get(imgurls[i]).content)  # content就是将响应转化为二进制内容
(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

推荐一款让wordpress实现CDN加速的插件(支持阿里云、腾讯云、七牛云等)

08-03

Selenium安装WebDriver:ChromeDriver谷歌浏览器驱动下载安装与使用最新版116/117/118/119/120/121/122/123

08-03

multiple assets emit different content to the same filename index.html

08-02

MBA留学选校中Location的四大考量因素

08-02

Dhtmlx Gantt教程:创建交互式甘特图的完整指南

08-02

智慧电商SAAS平台、门店管理、仓储管理、订单管理、店铺运营、采购管理、数据分析、交易分析、留存分析、用户运营、围栏管理、自提点管理、商城运营、流量分析、用户权限、销量分析、佣金明细、Axure原型

08-03

猜你喜欢

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

发表评论