Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python HTMLParser从HTML页面抓取特定值_Python_Html - Fatal编程技术网

如何使用python HTMLParser从HTML页面抓取特定值

如何使用python HTMLParser从HTML页面抓取特定值,python,html,Python,Html,假设我想从HTML页面中抓取一个特定的值,但我没有该值的明确标识符(name=“abc”)。我必须通过HTML层次结构找到值(在本例中为“dfgd454”): <html><body><div id="pagecontent"><div id="container"><div id="content"><div id="tab-description"><div id="attributes"> <div

假设我想从HTML页面中抓取一个特定的值,但我没有该值的明确标识符(name=“abc”)。我必须通过HTML层次结构找到值(在本例中为“dfgd454”):

<html><body><div id="pagecontent"><div id="container"><div id="content"><div id="tab-description"><div id="attributes">
<div class="attr">
    <span class="name">Ugug</span>
    <span class="value">dfgd454</span>
</div>
但我知道代码是不够的


感谢您的帮助,因为我一直在谷歌上搜索,没有找到合适的解决方案。

您可以使用BeautifulSoup解析器

from bs4 import BeautifulSoup
s = '''<html><body><div id="pagecontent"><div id="container"><div id="content"><div id="tab-description"><div id="attributes">
<div class="attr">
    <span class="name">Ugug</span>
    <span class="value">dfgd454</span>
</div>'''
soup = BeautifulSoup(s)
print soup.select('div > span.value')[0].text

谢谢,我会尝试的!但是首先我必须正确导入BeautifulSoup,它现在不起作用。您安装了BeautifulSoup吗?我尝试过,但pip现在不起作用。但这是我必须首先解决的另一个问题;)嗨,现在我运行了库,您的代码出现以下错误:print soup.select('div>span.value')[0].text^SyntaxError:无效的SyntaxServer看起来您正在运行python 3。如果是,请尝试打印(soup.select('div>span.value')[0].text)
from bs4 import BeautifulSoup
s = '''<html><body><div id="pagecontent"><div id="container"><div id="content"><div id="tab-description"><div id="attributes">
<div class="attr">
    <span class="name">Ugug</span>
    <span class="value">dfgd454</span>
</div>'''
soup = BeautifulSoup(s)
print soup.select('div > span.value')[0].text
dfgd454