WoJ*_*WoJ 0 python beautifulsoup
我有类型的数据
<preference>
<name>throttle_scan</name>
<value>yes</value>
</preference>
<preference><name>listen_address</name>
<value>0.0.0.0</value>
</preference>
Run Code Online (Sandbox Code Playgroud)
这些本质上是我想用BeautifulSoup提取的名称/值对.
我设法提取了一份清单 preference
soup = bs4.BeautifulSoup(string_with_xml, 'html.parser')
for p in soup.find_all('preference'):
c = p.contents
print(c)
Run Code Online (Sandbox Code Playgroud)
给出一个列表preference:
[<name>throttle_scan</name>, '\n', <value>yes</value>, '\n']
[<name>listen_address</name>, '\n', <value>0.0.0.0</value>, '\n']
Run Code Online (Sandbox Code Playgroud)
如何进一步深入查看此列表?我应该去看一个新的
soup = bs4.BeautifulSoup(''.join(c), 'html.parser')
Run Code Online (Sandbox Code Playgroud)
和搜索name和value?
就这样做,
>>> from bs4 import BeautifulSoup
>>> html = '''<preference>
<name>throttle_scan</name>
<value>yes</value>
</preference>
<preference><name>listen_address</name>
<value>0.0.0.0</value>
</preference>'''
>>> soup = BeautifulSoup(html, 'lxml')
>>> for i in soup.select('preference'):
print i.find('name').text
print i.find('value').text
print '-----------'
throttle_scan
yes
-----------
listen_address
0.0.0.0
-----------
>>>
Run Code Online (Sandbox Code Playgroud)
soup.select与soup.find_all此相同但在这里我们可以通过css选择器,这将使您的生活更轻松.例如,要选择所有具有该类的标签foo,您可以使用,
soup.select('.foo')
Run Code Online (Sandbox Code Playgroud)
.代表class并#代表id标签.
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |