gpt4 book ai didi

python - 尝试使用Python和BeautifulSoup来提取准确的值

转载 作者:太空宇宙 更新时间:2023-11-03 21:47:56 24 4
gpt4 key购买 nike

大家好,我有一个 html 页面需要解析。所以我需要姓名和电子邮件地址。

姓氏:
电子邮件地址:

所以我尝试了这个:

from bs4 import BeautifulSoup

def get_page_data():
soup = BeautifulSoup(html, 'lxml')
email = soup.find(id='email')
first = soup.find(id='name.first')
data = {'first': first,
'email': email
}

return data

它给了我输出:

{
name:id="name.last" name="name.last" tabindex="2" type="text" value="**Name I need**"/>
<br />
email:id="email" name="email" tabindex="0" style="background-color:#D4D0C8;" readonly="readonly" type="text" value="**Email I need**" size="30" maxlength="50"/><br />
}

我尝试将每个转换为字符串并对其进行切片。输出是:name:value="我需要的姓名",email:value="我需要的电子邮件"

但它可能不适用于其他页面。

尝试过 .next_sibling 或 previou_sibling 但返回:无。

我相信有更优雅的方法来解决这个问题。也许是因为 re 或者我错过了 BeautifulSoup 的一些东西。

很乐意提供任何建议。

提前谢谢您。

最佳答案

要提取属性,您需要在选择元素后调用属性名称。

def get_page_data():
soup = BeautifulSoup(html, 'lxml')
email = soup.find(id='email')
first = soup.find(id='name.first')
data = {'first': first['value'],
'email': email['value']
}

return data

希望这有帮助!干杯!

关于python - 尝试使用Python和BeautifulSoup来提取准确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52342666/

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