吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 171|回复: 5
收起左侧

[求助] prissionpage中如何过滤多余元素

[复制链接]
010000 发表于 2024-11-4 16:49
[Python] 纯文本查看 复制代码
f=page.eles('@@href^thread@@href$html')
print(f)


结果是
[Python] 纯文本查看 复制代码
<ChromiumElement a href='thread-2412086-1-1.html' class='xi2'>, <ChromiumElement a href='thread-2412085-1-1.html' title='新窗口打 
开' target='_blank'>, <ChromiumElement a href='thread-2412085-1-1.html' style='color: #EE1B2E;' onclick='if (!window.__cfRLUnblockHandlers) return false; atarget(this)' 
class='s xst'>, <ChromiumElement a href='thread-2412085-1-1.html' class='xi2'>, <ChromiumElement a href='thread-2412081-1-1.html' title='新窗口打开' target='_blank'>, <ChromiumElement a href='thread-2412081-1-1.html' style='color: #EE1B2E;' onclick='if (!window.__cfRLUnblockHandlers) return false; atarget(this)' class='s xst'>, <ChromiumElement a href='thread-2412081-1-1.html' class='xi2'>, 



要干净的提取href=‘thread-2412086-1-1.html’中的链接内容,要如何写呢?我发现用prissionpage的ele提取元素,自动都会带上ChromiumElement开头。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

LightswornSnow 发表于 2024-11-5 09:14
eles返回的是元素,当然会有ChromiumElement开头。要提取href属性得用link
官网文档的获取元素信息部分就有 https://drissionpage.cn/browser_control/get_ele_info/
[Python] 纯文本查看 复制代码
for i in f:
    print(i.link)
 楼主| 010000 发表于 2024-11-5 11:40
LightswornSnow 发表于 2024-11-5 09:14
eles返回的是元素,当然会有ChromiumElement开头。要提取href属性得用link
官网文档的获取元素信息部分就 ...

多谢指点,确实如您所说的还得取link属性

新手一枚,以前拼拼凑凑用的xpath路径还是能取到href的链接地址的。不知道是不是这个网站改版的缘故还是加入了反扒,现在无论用prissonpage还是webdriver的xpath,取出的都是一堆数据。
 楼主| 010000 发表于 2024-11-5 16:15
高手再指导下,运行
[Python] 纯文本查看 复制代码
t=page.eles('xpath://span/span')


得到如下结果
[Python] 纯文本查看 复制代码
[<ChromiumElement span class='pipe'>, <ChromiumElement span class='pipe'>, <ChromiumElement span class='pipe'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-05'>, <ChromiumElement span title='2024-11-04'>]


我想把其中的日期提取出来,要怎么操作呢?看了drisesspage的文档,感觉有点懵。
LightswornSnow 发表于 2024-11-5 20:24
本帖最后由 LightswornSnow 于 2024-11-5 20:25 编辑
010000 发表于 2024-11-5 16:15
高手再指导下,运行

也不知道页面什么样,只能盲猜。
日期在title属性里,获取元素信息用attr应该差不多。
另外不带日期的可以查找时在eles用否定匹配符@!忽略掉,或者查找结果拿filter过滤一下。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
010000 + 1 + 1 我很赞同!

查看全部评分

 楼主| 010000 发表于 2024-11-6 14:45
高手又说对了,确实用attr属性

[Python] 纯文本查看 复制代码
pubdate=page.eles('xpath://span/span')
for i in range(0,len(pubdate)):
    pubdate[i]=pubdate[i].attr('title')


说起来,这个prissonpage的查找是比较方便,可同时也比较跳跃,我一直以为title跟id一样用@(在旧的用webdrive的xpath确实是用@取得)。得多点例子去熟悉才行。我这靠着高人指点才能一天一个标签的完成。多谢了

网页不好意思贴出来了,不然我都去悬赏区摇人了。男人爱看的。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 12:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表