fengma 发表于 2024-7-25 10:19:12

采用 DrissionPage库,如何获取里面的内容?

采用 DrissionPage库,我要它的 @href 和 @title 的值,如例子应该怎样写?

例子:
eles = page('#ul').eles('t:a')# 获取左上角导航栏内所有<a>元素
for ele in eles.filter.displayed():# 筛选出显示的元素列表并逐个打印文本
    print(ele.text, end=' ')

要获取的内容:
<ul>
    <li><div class="content">
            <a class="recommend normal" href="/#/train-new/class-detail/912951da-f7d9-426d-8626-d1f1d63d74ae" target="_blank" itemid="912951da-f7d9-426d-8626-d1f1d63d74ae">
                <div class="img">
                  <div class="img-cont more-layout-img" style="background-image:url(/default/M00/E1/DB/CtCgjGY504aAdjwjAAGmUAd-XGQ370.jpg)">
                        <img src="images/home/16-9.png">
                  </div>
                </div>
                <div class="text-overflow title">学习网上专题培训班</div>
                <div class="bottom">
                  <div class="item" title="浏览人次"><i class="iconfont icon-view"></i>59225</div>
                  <!--.sub-text.small-font > i.iconfont.icon-view(title=string('home.default.more.layout.views')) + span > echo(browseCount) -->
                </div>
            </a>
    </div></li>
    <li>......</li>
</ul>

FishC 发表于 2024-7-25 10:21:23

当然可以!使用 `DrissionPage` 库获取网页中元素的 `@href` 和 `@title` 属性非常简单。下面是一个通俗易懂且带点幽默味的示例代码,帮助你获取这些值:

首先,确保你已经安装了 `DrissionPage` 库。如果还没装,可以用以下命令进行安装:

pip install drissionpage

接下来,你可以使用如下代码来获取导航栏中的所有链接(带有 `@href` 和 `@title` 的元素):

from drissionpage import DrissionPage

# 创建一个页面对象
page = DrissionPage()

# 获取左上角导航栏内所有元素
eles = page('#ul').eles('t:a')# 这里假设 #ul 是你的导航栏的选择器

# 遍历显示的元素
for ele in eles.filter.displayed():
    href = ele.get_attribute('href')# 获取 @href 属性
    title = ele.get_attribute('title')# 获取 @title 属性
    print(f"链接: {href}, 标题: {title}")# 输出链接和标题

在这个代码里,我们首先实例化一个 `DrissionPage` 对象,然后使用 CSS 选择器抓取左上角导航栏里的所有链接。接着我们筛选出显示的元素,并逐个获取它们的 `@href` 和 `@title` 属性。最后,我们把这些信息优雅地打印出来。

这样,你就能满意地看到每个链接及其标题了,就像鱼油早晨第一口带来的清新感一样!希望这个例子能帮助到你!如果还有其他问题,尽管问哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 采用 DrissionPage库,如何获取里面的内容?