从python中的html获取价值的最佳方法? [复制]

Posted

技术标签:

【中文标题】从python中的html获取价值的最佳方法? [复制]【英文标题】:Best way to get value from html in python? [duplicate] 【发布时间】:2017-02-17 12:05:37 【问题描述】:

所以我想在 python 中抓取属性值,目前我正在使用正则表达式,但它不是那么有效,所以我想知道我应该使用什么来代替,因为很多人说正则表达式不适合这样的事情。

谢谢

这是我试图得到的。

<input type="hidden" name="test" value="99948555"> 

值总是包含随机数。

【问题讨论】:

我会检查 htmlParser (docs.python.org/2/library/htmlparser.html) 【参考方案1】:

我会使用 BeautifulSoup 进行这种解析:

from bs4 import BeautifulSoup
html = '<input type="hidden" name="test" value="99948555">'
soup = BeautifulSoup(html, 'html.parser')
print(soup.find('input')['name'], ':', soup.find('input')['value'])
# outputs : "test : 99948555"

你在这里寻找的是:soup.find('input')['value']

有关用法和示例,请参阅文档: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

你可以这样安装:

[python_binary] -m pip install bs4

【讨论】:

pip install beautifulsoup4,其实 @cricket_007 取决于您使用的 python 版本。例如,在 centOS 上,我同时拥有 python2.7 和 python3.4,并且每次都使用 pip 作为模块,而 pip 二进制文件仅适用于一个版本的 python。所以是的,我建议使用 pip 作为模块。 好吧,我阅读了文档并使其正常工作,但我仍然无法仅检索值:/ 我正在考虑将结果转换为字符串和正则表达式数字 代码如下:soup = BeautifulSoup(data, "lxml") hidden_​​tags = soup.findAll("input", 'name': "test") print(hidden_​​tags) 感谢队友编辑,它工作得很好:)

以上是关于从python中的html获取价值的最佳方法? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

按索引从 Collection 中获取价值的最佳方式

按索引从 Collection 中获取价值的最佳方式

从嵌套在 Firestore 文档中的集合中获取数据的最佳方法是啥?

从 serialize() AJAX 获取 PHP 中的多个/多个 POST 变量的最佳方法是啥?

从 cellForRowAtIndexPath 中的 Firebase 获取值的最佳方法?

从 yii 中的模型获取相关数据并返回 json 的最佳方法