Используя пакеты .net core jwt, доступны претензии:
[Route("api/[controller]")]
[ApiController]
[Authorize(Policy = "Bearer")]
public class AbstractController: ControllerBase
{
protected string UserId()
{
var principal = HttpContext.User;
if (principal?.Claims != null)
{
foreach (var claim in principal.Claims)
{
log.Debug($"CLAIM TYPE: {claim.Type}; CLAIM VALUE: {claim.Value}");
}
}
return principal?.Claims?.SingleOrDefault(p => p.Type == "username")?.Value;
}
}
Вы должны использовать preceding-sibling::p
, а не preceeding
.
lis.xpath('preceding-sibling::p[1]/text()').extract()
Полное решение:
for lis in response.xpath('//div[@id="tabname-2228-2"]/ul'):
season = lis.xpath('preceding::p[1]/text()')[0]
print(season)