2016-12-10 3 views
0

저는 파이썬 3.5.2를 사용하고 있습니다. 쿠키가 필요한 웹 페이지를 스크랩하고 싶습니다. 그러나 requests.session()을 사용하면 세션에서 유지 관리되는 쿠키가 업데이트되지 않으므로 끊임없이 긁어 모으지 않습니다. 다음은 제 코드입니다.requests.session()은 쿠키를 자동으로 업데이트 할 수 없습니다.

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

대부분의 웹 사이트에서 작동한다는 것을 알고 있습니다. 그러나 경우에 따라 쿠키가 업데이트되지 않으며 세션에서 비어있는 쿠키 항아리가 제공됩니다. 예를 들어 웹 사이트 www.jd.com의 스크래핑은 다음과 같이 작동합니다. 사실, URL (www.beanbaba.com 및 www.jd.com)이 브라우저를 통해 요청되면 브라우저의 쿠키가 제대로 업데이트됩니다. –