import
os
import
urllib2
import
urllib
import
cookielib
import
re
import
sys
from
bs4
import
BeautifulSoup
default_encoding
=
"utf-8"
if
sys.getdefaultencoding() !
=
default_encoding:
reload
(sys)
sys.setdefaultencoding(
"utf-8"
)
def
getHtml(url,data
=
{}):
if
(data
=
=
{}):
req
=
urllib2.Request(url)
else
:
req
=
urllib2.Request(url,urllib.urlencode(data))
html
=
urllib2.urlopen(req).read()
return
html
try
:
cookie
=
cookielib.CookieJar()
cookieProc
=
urllib2.HTTPCookieProcessor(cookie)
except
:
raise
else
:
opener
=
urllib2.build_opener(cookieProc)
opener.addheaders
=
[(
'User-Agent'
,
'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'
)]
urllib2.install_opener(opener)
auth_url
=
'https://passport.jd.com/uc/loginService'
home_url
=
'http://usergrade.jd.com/user/consume'
url
=
"https://passport.jd.com/uc/login"
login
=
getHtml(url)
loginSoup
=
BeautifulSoup(login,
'html.parser'
)
uuid
=
loginSoup.find_all(
"form"
)[
0
].find_all(
"input"
)[
0
][
'value'
]
print
uuid
clrName
=
loginSoup.find_all(
"form"
)[
0
].find_all(
"input"
)[
6
][
'name'
]
clrValue
=
loginSoup.find_all(
"form"
)[
0
].find_all(
"input"
)[
6
][
'value'
]
checkPicUrl
=
loginSoup.find_all(
"div"
,
id
=
"o-authcode"
)[
0
].find_all(
"img"
)[
0
][
'src2'
]
req
=
getHtml(checkPicUrl)
checkPic
=
open
(
"checkPic.jpg"
,
"w"
)
checkPic.write(req)
checkPic.close()
os.system(
'open /Applications/Preview.app/ checkPic.jpg'
)
checkCode
=
raw_input
(
"请输入弹出图片中的验证码:"
)
url
=
"http://passport.jd.com/uc/loginService"
postData
=
{
'loginname'
:
'你自己的账号'
,
'nloginpwd'
:
'你自己的密码'
,
'loginpwd'
:
'你自己的密码'
,
str
(clrName):
str
(clrValue),
'uuid'
:uuid,
'authcode'
: checkCode
}
passport
=
getHtml(url,postData)
print
passport
result
=
opener.
open
(
'http://i.jd.com/user/info'
)
soup
=
BeautifulSoup(result,
'html.parser'
)
nickName
=
soup.find_all(
"input"
,
id
=
"nickName"
)[
0
][
"value"
]
print
"nickName:"
,
print
nickName