我试图从以下方面获取"内容"的值:
<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==