python - 使用 Beautifulsoup 在 html 页面中查找 CSRF token

标签 python beautifulsoup

HTML 看起来像这样

<input type="hidden" name="csrfToken" value="ajax:SOME_TOKEN"/>

我尝试了几种不同的方法,但总是收到错误。我认为这种方式看起来是正确的,但显然不是。

soup = BeautifulSoup(html_page)
soup.find('input', {'name':'csrfToken'})

我不断得到:

TypeError: 'expected string or buffer'

有什么想法吗?

最佳答案

这是从给定输入中提取 CSRF token 的一种方法:

from bs4 import BeautifulSoup

html = '<input type="hidden" name="csrfToken" value="ajax:SOME_TOKEN"/>'
soup = BeautifulSoup(html)

token = soup.find('input', {'name':'csrfToken'})['value']

print token

运行结果是:

ajax:SOME_TOKEN

通过查看您的示例,html 元素的实际提取似乎是正确的。可能是您的 html_page 未设置或某种其他类型(即不是字符串)?

关于python - 使用 Beautifulsoup 在 html 页面中查找 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26266532/

相关文章:

python - Pandas Groupby 除列并取该列的第一个值

java - 将 Python 生成的哈希值与 Java 中的原始密码进行比较时,盐修订版无效

python - 我可以显式关闭 ctypes CDLL 吗?

python - 值错误 : ordinal must be >= 1

python - Graphite statsd xaxis 每 2 秒

python - Beautiful Soup and Table Scraping - lxml 与 html 解析器

python - 使用Python模块BeautifulSoup抓取XML,需要树中的特定标签

python - 使用 Python 抓取 NFL.com 梦幻足球预测

python - 在Python中的文件夹中的所有HTML文件中插入HTML标签

python - C - 导入 Python 模块