1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| from bs4 import BeautifulSoup
import requests
import configparser
import json
imooc_url = r'http://www.imooc.com'
login_session = requests.session()
headers = {
"Accept":"application/json, text/Javascript, */*; q=0.01",
"Accept-Encoding":"gzip, deflate",
"Accept-Language":"zh-CN,zh;q=0.8",
"Connection":"keep-alive",
"Host":"www.imooc.com",
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36",
"X-Requested-With":"XMLHttpRequest"
}
class imoocLogin(object):
def __init__(self,configfile):
self.loginurl = r'http://www.imooc.com/passport/user/login'
cOnfig= configparser.ConfigParser()
config.read(configfile)
cOnfigname= 'imooc'
self.username = config.get(configname,'username')
self.password = config.get(configname,'password')
def startLogin(self):
login_text = requests.get(imooc_url).text
login_soup = BeautifulSoup(login_text,'lxml')
verify = login_soup.find_all('img',class_="verify-img")
print "verify: %s" %verify
if verify:
for verify_data in verify:
verify_data = verify_data.get('src')
verify_url = imooc_url+verify_data
print verify_url
verify_data = raw_input('input verify:')
login_data = {
"username":self.username,
"password":self.password,
"remember":'1',
"verify":verify_data,
"referer":"http://www.imooc.com"
}
else:
login_data = {
"username":self.username,
"password":self.password,
"remember":"1",
"referer":"http://www.imooc.com"
}
print 'ddddddddddddd'
s_login = login_session.post(self.loginurl,data=login_data,headers=headers)
print 'wwwwwwwwwwwwww'
print(s_login)
print s_login.json()
print type(s_login.json())
for k,v in s_login.json().items():
print k,v
# print json.dump(s_login.json(),indent=4,sort_keys=True)
if __name__=='__main__':
abc_url = r'http://www.imooc.com/video/10903'
user_url = r'http://www.imooc.com/u/1322083/courses'
loginPro = imoocLogin('config.ini')
loginPro.startLogin()
video_url = login_session.get(abc_url,headers=headers).text
video_soup = BeautifulSoup(video_url,'lxml')
print video_soup |