嗨,我正在尝试从网站上抓取用户数据。我需要标签名称本身中可用的用户ID。我正在尝试在 div 标签中使用pythonselenium和漂亮的汤刮UID 。
例:
<"div id="UID_**60CE07D6DF5C02A987ED7B076F4154F3**-SRC_328619641" class="memberOverlayLink" onmouseover="ta.trackEventOnPage('Reviews','show_reviewer_info_window','user_name_photo'); ta.call('ta.overlays.Factory.memberOverlayWOffset', event, this, 's3 dg rgba_gry update2012', 0, (new Element(this)).getElement('.avatar')&&(new Element(this)).getElement('.avatar').getStyle('border-radius')=='100%'?-10:0);">
我试图在div标签中使用pythonselenium和漂亮的汤刮UID。我浏览了所有文档和几个网页,但找不到解决方案。如果有人能告诉我这种事情是否可能,我将非常感激。
假设id属性值始终采用格式,UID_后跟一个或多个字母数字字符,-SRC_后跟一个或多个数字:
id
UID_
-SRC_
import re from bs4 import BeautifulSoup soup = BeautifulSoup(html) pattern = re.compile(r"UID_(\w+)\-SRC_\d+") id = soup.find("div", id=pattern)["id"] uid = pattern.match(id).group(1) print(uid)
在这里,我们使用BeautifulSoup并搜索id与特定正则表达式匹配的属性值。它包含一个保存组 (\w+),可帮助我们提取UID值。
BeautifulSoup
(\w+)