MCPcopy
hub / github.com/lining0806/PythonSpiderNotes / create_session

Function create_session

ZhihuSpider/ZhihuSpider.py:8–45  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6import ConfigParser
7
8def create_session():
9 cf = ConfigParser.ConfigParser()
10 cf.read('config.ini')
11 cookies = cf.items('cookies')
12 cookies = dict(cookies)
13 from pprint import pprint
14 pprint(cookies)
15 email = cf.get('info', 'email')
16 password = cf.get('info', 'password')
17
18 session = requests.session()
19 login_data = {'email': email, 'password': password}
20 header = {
21 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36',
22 'Host': 'www.zhihu.com',
23 'Referer': 'http://www.zhihu.com/'
24 }
25 r = session.post('http://www.zhihu.com/login/email', data=login_data, headers=header)
26 if r.json()['r'] == 1:
27 print 'Login Failed, reason is:',
28 for m in r.json()['data']:
29 print r.json()['data'][m]
30 print 'So we use cookies to login in...'
31 has_cookies = False
32 for key in cookies:
33 if key != '__name__' and cookies[key] != '':
34 has_cookies = True
35 break
36 if has_cookies is False:
37 raise ValueError('请填写config.ini文件中的cookies项.')
38 else:
39 # r = requests.get('http://www.zhihu.com/login/email', cookies=cookies) # 实现验证码登陆
40 r = session.get('http://www.zhihu.com/login/email', cookies=cookies) # 实现验证码登陆
41
42 with open('login.html', 'w') as fp:
43 fp.write(r.content)
44
45 return session, cookies
46
47
48if __name__ == '__main__':

Callers 1

ZhihuSpider.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected