2016-12-10 20 views
0

Я использую python 3.5.2. Я хочу отказаться от веб-страницы, где необходимы файлы cookie. Но когда я использую request.session(), файлы cookie, хранящиеся в сеансе, не обновляются, поэтому мой скребок не удался постоянно. Ниже приведен фрагмент кода.request.session() не может автоматически обновлять файлы cookie

import requests 
from bs4 import BeautifulSoup 
import time 
import requests.utils 

session = requests.session() 
session.headers.update({"User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"}) 
print(session.cookies.get_dict()) 
url = "http://www.beianbaba.com/" 
session.get(url) 
print(session.cookies.get_dict()) 

У вас есть идеи по этому поводу? Большое вам спасибо заранее.

+0

Может кто-нибудь дать мне руку? Я жду онлайн! –

ответ

0

Похоже, что этот запрос веб-сайта не предоставляет куки. Я использовал тот же самый код, но просил для https://google.com:

import requests 
from bs4 import BeautifulSoup 
import time 
import requests.utils 

session = requests.Session() 
session.headers.update({"User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"}) 
print(session.cookies.get_dict()) 
url = "http://google.com/" 
session.get(url) 
print(session.cookies.get_dict()) 

И получил этот результат:

{} 
{'NID': 'a cookie that i removed'} 
+0

Я знаю, что он работает на большинстве веб-сайтов. Но в некоторых случаях cookie не обновляется, и сеанс даст пустую банку cookie. Например, соскабливание веб-сайта www.jd.com ведет себя так. Фактически, когда URL-адреса (www.beanbaba.com и www.jd.com) запрашиваются через браузер, файлы cookie браузера обновляются должным образом. –