从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获取价值的最佳方法? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
从嵌套在 Firestore 文档中的集合中获取数据的最佳方法是啥?
从 serialize() AJAX 获取 PHP 中的多个/多个 POST 变量的最佳方法是啥?