Python爬虫模拟登录京东获取个人信息,,原文http://w
Python爬虫模拟登录京东获取个人信息,,原文http://w
原文http://www.xgezhang.com/python_crawler_jingdong.html
先上我的代码。参考了上面链接的文章
#-*-coding:utf-8-*-#!/usr/bin/pythonimportosimporturllib2importurllibimportcookielibimportreimportsysfrombs4importBeautifulSoup‘‘‘编码方式的设置,在中文使用时用到中文时的处理方式‘‘‘default_encoding="utf-8"ifsys.getdefaultencoding()!=default_encoding:reload(sys)sys.setdefaultencoding("utf-8")defgetHtml(url,data={}):if(data=={}):req=urllib2.Request(url)else:req=urllib2.Request(url,urllib.urlencode(data))html=urllib2.urlopen(req).read()returnhtmltry:cookie=cookielib.CookieJar()cookieProc=urllib2.HTTPCookieProcessor(cookie)except:raiseelse:opener=urllib2.build_opener(cookieProc)opener.addheaders=[(‘User-Agent‘,‘Mozilla/5.0(WindowsNT6.1)AppleWebKit/537.11(KHTML,likeGecko)Chrome/23.0.1271.64Safari/537.11‘)]urllib2.install_opener(opener)auth_url=‘https://passport.jd.com/uc/loginService‘#auth_url=‘http://www.nowamagic.net/‘home_url=‘http://usergrade.jd.com/user/consume‘#home_url=‘http://www.nowamagic.net/librarys/nmra/‘;url="https://passport.jd.com/uc/login"login=getHtml(url)#printloginloginSoup=BeautifulSoup(login,‘html.parser‘)#查找登陆参数中的uuiduuid=loginSoup.find_all("form")[0].find_all("input")[0][‘value‘]printuuidclrName=loginSoup.find_all("form")[0].find_all("input")[6][‘name‘]clrValue=loginSoup.find_all("form")[0].find_all("input")[6][‘value‘]‘‘‘这俩参数不是必须。。。。eid=loginSoup.find_all("form")[0].find_all("input")[4][‘value‘]fp=loginSoup.find_all("form")[0].find_all("input")[5][‘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()#调用mac系统的预览(图像查看器)来打开图片文件os.system(‘open/Applications/Preview.app/checkPic.jpg‘)checkCode=raw_input("请输入弹出图片中的验证码:")#登录URLurl="http://passport.jd.com/uc/loginService"#登陆用户名和密码postData={‘loginname‘:‘你自己的账号‘,‘nloginpwd‘:‘你自己的密码‘,‘loginpwd‘:‘你自己的密码‘,#‘machineNet‘:‘‘,#‘machineCpu‘:‘‘,#‘machineDisk‘:‘‘,str(clrName):str(clrValue),‘uuid‘:uuid,‘authcode‘:checkCode}passport=getHtml(url,postData)printpassport#初始化一个CookieJar来处理Cookie‘‘‘cookieJar=cookielib.CookieJar()#实例化一个全局openeropener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))#获取cookiereq=urllib2.Request(auth_url,post_data,headers)result=opener.open(req)#访问主页自动带着cookie信息‘‘‘result=opener.open(‘http://i.jd.com/user/info‘)#显示结果#printresult.read()soup=BeautifulSoup(result,‘html.parser‘)#昵称nickName=soup.find_all("input",id="nickName")[0]["value"]print"nickName:",printnickName
其实在第一次爬的时候确实是成功返回了{“success”:“http://www.jd.com”}。
但是当我回到寝室再次测试的时候却给我返回了“请刷新页面后重新提交”,暂时还没有解决。
Python爬虫模拟登录京东获取个人信息
相关内容
- python网络爬虫高清PDF资料分享,,1、python+网
- Python爬虫,,Python爬虫学习
- Python爬虫的第二种姿势,Selenium框架案例讲解,
- python爬虫解决手机验证码问题,,一、安卓手机安装ta
- 【Python爬虫】批量抓取网页上的视频,,1、为何学pyth
- Python新手70个练手项目,,不管学习哪门语言都希
- python爬虫之Splash使用初体验,python爬虫splash,Splash是什么
- 爬取豆瓣电影top250提取电影分类进行数据分析,top250电
- Python爬虫中urllib库的进阶学习,pythonurllib
- Python爬虫实例扒取2345天气预报,python2345
评论关闭