Python靓汤输入值

2024-09-27 23:15:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我的计划是通过使用Bs4来获取反垃圾邮件。在

我有这个HTML,我的HTML来自enter image description here

我在代码里写的是

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

但这给了我一个错误的说法

^{pr2}$

我很不明白我做得对与否。我确实认为我做得对,但也许我需要在表单id中找到它,而不是直接隐藏起来?在


Tags: 代码nametokeninputvaluehtml错误垃圾邮件
2条回答

我不知道你的错误在哪里,但我做了一个小html文件,放在我的服务器上,我没有问题复制和粘贴你的代码。。在

唯一明显的区别(如果您没有这样做的话)是我使用请求将html解析为BS4

我想可能是解析问题。在

HTML格式

<html>

<form action="process">
<input type="hidden" name="_AntiCsrfToken" value="5435434354353453545">

</form>
</html>

Python:

^{pr2}$

退货:

5435434354353453545

你也不需要

{'name':'_AntiCsrfToken'}

所以:

token = soup.find('input')['value']

会有用的

也许试着用CSS selectors?在

from bs4 import BeautifulSoup

html = """
<html>
<input type="hidden" name="_AntiCsrfToken" value="5435434354353453545">
</html>
"""

soup = BeautifulSoup(html, 'lxml')
csrf = soup.select_one('input[name=_AntiCsrfToken]')['value']
print(csrf)

输出:5435434354353453545

相关问题 更多 >

    热门问题