尝试使用请求和美丽的汤从元标记中抓取真实性令牌



我试图从以下方面获取"内容"的值:

<meta content="trjYXw9aFup1tXoiuKixHZwcRLBEXeKOH6tqN7VuzvL7cSti/RuS4w06osJ46PwIp3Q+swKbcNeeqqhm7I7cig==" name="csrf-token"/>
import requests
from bs4 import BeautifulSoup
with requests.Session() as c:
url = 'https://www.teamtreehouse.com/'
r=requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
csrfToken = soup.find('meta', attrs={'name': 'csrf-token'})
authenticity_token = csrfToken.findAll('content')

当我print(csrfToken)时,我会得到<meta content="trjYXw9aFup1tXoiuKixHZwcRLBEXeKOH6tqN7VuzvL7cSti/RuS4w06osJ46PwIp3Q+swKbcNeeqqhm7I7cig==" name="csrf-token"/>

现在当我尝试print(authenticity_token)时,我得到了[]

我正在尝试自己获得内容的价值,任何人都可以建议。

您必须使用get()方法来获取属性content的值。 您正在使用 find_all((,它获取您正在运行该方法的 soup 元素内标签的所有出现次数。

喜欢这个:

authenticity_token = csrfToken.get('content');

所以结果

print(authenticity_token)

将是

trjYXw9aFup1tXoiuKixHZwcRLBEXeKOH6tqN7VuzvL7cSti/RuS4w06osJ46PwIp3Q+swKbcNeeqqhm7I7cig==

最新更新