Как достать нужную часть текста?
У меня есть вот такие cookies:
<RequestsCookieJar[<Cookie session_id=jhkj43h5kj3h45jh34j5h3kj4h5kj34 for .site.ru/>, <Cookie csrf_token=jnkj2h34jhk2j35nk2n5kj3n24kj5n3kj4n5k3j4n5nms for .site.site.ru/>]>
Как мне достать отсюда сам csrf_token?
Ответы (2 шт):
Автор решения: Peter Lavreniuk
→ Ссылка
Регулярное выражение:
(?<=csrf_token=)(.*)(?= for)
Пример использования :
import re
result = re.search(r"(?<=csrf_token=)(.*)(?= for)", "<RequestsCookieJar[<Cookie session_id=jhkj43h5kj3h45jh34j5h3kj4h5kj34 for .site.ru/>, <Cookie csrf_token=jnkj2h34jhk2j35nk2n5kj3n24kj5n3kj4n5k3j4n5nms for .site.site.ru/>]>")
print(result.group(0))
Вывод:
jnkj2h34jhk2j35nk2n5kj3n24kj5n3kj4n5k3j4n5nms
Автор решения: Namerek
→ Ссылка
import requests
response = requests.get('https://auto.ru')
print(response.cookies.get('_csrf_token'))
# 63f47877d476b3cd141b4732ddd7f04e6a24a17f96bd3530
Если же cookies у вас действительно в текстовом формате:
text_1 = '<RequestsCookieJar[<Cookie session_id=jhkj43h5kj3h45jh34j5h3kj4h5kj34 for .site.ru/>, <Cookie csrf_token=jnkj2h34jhk2j35nk2n5kj3n24kj5n3kj4n5k3j4n5nms for .site.site.ru/>]>'
print(re.sub(r'^.*?csrf_token=(.+?)\s+.*$', r'\1', text_1, flags=re.S))
# jnkj2h34jhk2j35nk2n5kj3n24kj5n3kj4n5k3j4n5nms