我有一个问题,我必须在变量中搜索文本。有几个字。 这是我的代码的示例。
<value uri=" /user/var/120/10251/0/0/12242" strValue="61" unit="°C" decPlaces="0" scaleFactor="10" advTextOffset="0">605</value>
我可以毫无问题地显示标签value
。
现在我只需要变量“strValue”中包含的值。
不幸的是,我在纪录片中找不到任何帮助。
我希望你可以帮助我!
答案 0 :(得分:1)
假设您使用以下HTML文档:
soup = BeautifulSoup('''<value uri=" /user/var/120/10251/0/0/12242" strValue="61" unit="°C" decPlaces="0" scaleFactor="10" advTextOffset="0">605</value>''')
>>> soup.value
<value advtextoffset="0" decplaces="0" scalefactor="10" strvalue="61" unit="°C" uri=" /user/var/120/10251/0/0/12242">605</value>
您可以通过两种方式访问属性:
按键,类似于字典:
strvalue = soup.value['strvalue']
或通过attrs
词典:
strvalue = soup.value.attrs['strvalue']
请注意,您需要使用属性名称的小写版本,即strvalue
,而不是strValue
。
答案 1 :(得分:0)
试试这个:
from bs4 import BeautifulSoup
html = """
<value uri=" /user/var/120/10251/0/0/12242" strValue="61" unit="°C" decPlaces="0" scaleFactor="10" advTextOffset="0">605</value>
"""
soup = BeautifulSoup(html, 'lxml')
strValue = soup.select_one('value').get('strvalue')
答案 2 :(得分:-1)
import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = 'http://192.168.7.5:8080/user/var/120/10251/0/0/12242'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
page_soup_value = page_soup.value
page_soup_value.get('strvalue')