gpt4 book ai didi

python - 如何从BeautifulSoup中的onclick值获取链接?

转载 作者:行者123 更新时间:2023-12-04 07:58:20 26 4
gpt4 key购买 nike

需要帮助清理指向存储在 onclick= 中的图像的链接值(value)。
我这样做了,但我停止了如何删除 onclick 中除链接之外的所有内容。<a onclick="ShowEnlargedImagePreview( 'https://steamuserimages-a.akamaihd.net/ugc/794261971268711656/69C39CF2A2BBCDDC7C04C17DF1E88A6ED875DBE7/' );"></a>

links = soup.find('div', class_='workshopItemPreviewImageMain')
links = links.findChild('a', attrs={'onclick': re.compile("^https://")})
但什么都没有输出。
links = soup.find('div', class_='workshopItemPreviewImageMain')
links = links.findChild('a')
links = links.get("onclick")
显示 onclick 的整个值:
howEnlargedImagePreview( 'https://steamuserimages-a.akamaihd.net/ugc/794261971268711656/69C39CF2A2BBCDDC7C04C17DF1E88A6ED875DBE7/' )
但只需要一个链接。

最佳答案

你只需要改变你的正则表达式。

from bs4 import BeautifulSoup
import re

pattern = re.compile(r'''(?P<quote>['"])(?P<href>https?://.+?)(?P=quote)''')

data = '''
<div class="workshopItemPreviewImageMain">
<a onclick="ShowEnlargedImagePreview( 'https://steamuserimages-a.akamaihd.net/ugc/794261971268711656/69C39CF2A2BBCDDC7C04C17DF1E88A6ED875DBE7/' );"></a>
</div>
'''

soup = BeautifulSoup(data, 'html.parser')

div = soup.find('div', class_='workshopItemPreviewImageMain')

links = div.find_all('a', {'onclick': pattern})

for a in links:
print(pattern.search(a['onclick']).group('href'))

关于python - 如何从BeautifulSoup中的onclick值获取链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66589906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com