Heim  >  Artikel  >  Web-Frontend  >  So erhalten und aktualisieren Sie Cookies automatisch

So erhalten und aktualisieren Sie Cookies automatisch

php中世界最好的语言
php中世界最好的语言Original
2018-04-11 17:15:215048Durchsuche

Dieses Mal erkläre ich Ihnen, wie Sie Cookies automatisch erhalten und automatisch aktualisieren und welche Vorsichtsmaßnahmen es gibt, um Cookies automatisch zu erhalten und automatisch zu aktualisieren. Hier sind praktische Fälle Schauen Sie gemeinsam vorbei.

Um viele Informationen auf Social-Networking-Sites zu erhalten, müssen Sie sich anmelden. Nehmen Sie Weibo als Beispiel. Ohne Anmeldung können Sie nur die zehn besten Weibo-Beiträge von Big Vs sehen. Um angemeldet zu bleibenStatus, sind Cookies erforderlich. Nehmen Sie als Beispiel die Anmeldung bei www.weibo.cn:

Wenn Sie die Anforderungsrückgabe der Header der Konsole analysieren, werden Sie feststellen, dass weibo.cn über mehrere Sätze zurückgegebener Cookies verfügt.

Umsetzungsschritte:

1. Verwenden Sie Selenium, um sich automatisch anzumelden, um Cookies zu erhalten und sie in Dateien zu speichern

2. Lesen Sie das Cookie und vergleichen Sie die Gültigkeitsdauer des Cookies. Wenn es abläuft, führen Sie Schritt 1 erneut aus 3. Wenn Sie andere Webseiten anfordern, füllen Sie das Cookie aus, um den Anmeldestatus beizubehalten.

1. Holen Sie sich Cookies online

Verwenden Sie Selen + PhantomJS, um die Browseranmeldung zu simulieren und Cookies zu erhalten Normalerweise gibt es mehrere Cookies, und die Cookies werden einzeln in Dateien mit dem Suffix .weibo gespeichert.

2. Holen Sie sich Cookies aus der Datei

Durchsuchen Sie Dateien mit der Endung .weibo, also Cookie-Dateien, aus dem aktuellen Verzeichnis. Verwenden Sie pickle, um es in ein Diktat zu entpacken, den Ablaufwert mit der aktuellen Zeit zu vergleichen und leer zurückzugeben, wenn es abläuft
def get_cookie_from_network():
 from selenium import webdriver
 url_login = 'http://login.weibo.cn/login/' 
 driver = webdriver.PhantomJS()
 driver.get(url_login)
 driver.find_element_by_xpath('//input[@type="text"]').send_keys('your_weibo_accout') # 改成你的微博账号
 driver.find_element_by_xpath('//input[@type="password"]').send_keys('your_weibo_password') # 改成你的微博密码
 driver.find_element_by_xpath('//input[@type="submit"]').click() # 点击登录
 # 获得 cookie信息
 cookie_list = driver.get_cookies()
 print cookie_list
 cookie_dict = {}
 for cookie in cookie_list:
  #写入文件
  f = open(cookie['name']+'.weibo','w')
  pickle.dump(cookie, f)
  f.close()
  if cookie.has_key('name') and cookie.has_key('value'):
   cookie_dict[cookie['name']] = cookie['value']
 return cookie_dict

3. Wenn das

zwischengespeicherte

Cookie abläuft, holen Sie sich das Cookie erneut vom Netzwerk
def get_cookie_from_cache():
 cookie_dict = {}
 for parent, dirnames, filenames in os.walk('./'):
  for filename in filenames:
   if filename.endswith('.weibo'):
    print filename
    with open(self.dir_temp + filename, 'r') as f:
     d = pickle.load(f)
     if d.has_key('name') and d.has_key('value') and d.has_key('expiry'):
      expiry_date = int(d['expiry'])
      if expiry_date > (int)(time.time()):
       cookie_dict[d['name']] = d['value']
      else:
       return {}
 return cookie_dict

4. Verwenden Sie Cookies, um andere Weibo-Homepages anzufordern

def get_cookie():
 cookie_dict = get_cookie_from_cache()
 if not cookie_dict:
  cookie_dict = get_cookie_from_network()
 return cookie_dict
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website !

Empfohlene Lektüre:
def get_weibo_list(self, user_id):
 import requests
 from bs4 import BeautifulSoup as bs
 cookdic = get_cookie()
 url = 'http://weibo.cn/stocknews88' 
 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36'}
 timeout = 5
 r = requests.get(url, headers=headers, cookies=cookdic,timeout=timeout)
 soup = bs(r.text, 'lxml')
 ...
 # 用BeautifulSoup 解析网页
 ...

Detaillierte Erläuterung der Schritte für Vue zur Verwendung der xe-utils-Funktionsbibliothek

Vue wird aktualisiert nach dem Verpacken des Projekts Wie man mit der 404-Anzeige umgeht

Das obige ist der detaillierte Inhalt vonSo erhalten und aktualisieren Sie Cookies automatisch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn