Я обнаружил, что у других ответов были проблемы:
Этот ответ устраняет эти два вопроса:
import requests.cookies
def save_cookies(session, filename):
if not os.path.isdir(os.path.dirname(filename)):
return False
with open(filename, 'w') as f:
f.truncate()
pickle.dump(session.cookies._cookies, f)
def load_cookies(session, filename):
if not os.path.isfile(filename):
return False
with open(filename) as f:
cookies = pickle.load(f)
if cookies:
jar = requests.cookies.RequestsCookieJar()
jar._cookies = cookies
session.cookies = jar
else:
return False
Затем просто вызовите save_cookies(session, filename)
для сохранения или load_cookies(session, filename)
для загрузки. Просто как это.
Может быть слишком поздним, но массив JavaScript имеет every
метод, который возвращает булевскую переменную.
vendors.every( vendor => vendor['Name'] !== 'Magenic' )
const a = [{one:2},{two:2},{two:4}]
const b = a.filter(val => "two" in val).length;
if (b) {
...
}