一 python人人登陆
代码如下,参考了网上的:
import re import urllib import urllib2 import cookielib import datetime import time from urllib2 import URLError,HTTPError #第一个参数为日志文件,第二个参数为用户名,第三个参数为密码 def renren_login(logfile,username,password): logfile.write(str(datetime.datetime.now()) + ' renren/r/n') cj = cookielib.CookieJar() post_data = urllib.urlencode( {'email':username, 'password':password, } ) path = 'http://www.renren.com/PLogin.do' opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener) req = urllib2.Request(path,post_data) try: conn = urllib2.urlopen(req) except URLError,e: print 'URLError' logfile.write('URLError:' + str(e.code) + '/r/n')#http://www.renren.com/SysHome.do return False except HTTPError,e: logfile.write('HTTP Error:'+e.reason + '/r/n') return False if conn.geturl() == 'http://www.renren.com/home': print 'success' logfile.write('Task finished/r/n') return conn.read() else: print 'Task Failed' logfile.write('Task failed/r/n') # 登录成功,返回整个页面的代码 file_object = open("log.txt",'w') login_index = renren_login(file_object,'xxxxxx','xxxx')
##-*- coding : gbk -*- #在 import os from xml.dom import minidom import re import urllib import urllib2 import cookielib import datetime import time from urllib2 import URLError,HTTPError #登录模块 在网上找的 def renren_login(logfile,username,password): logfile.write(str(datetime.datetime.now()) + ' renren/r/n') cj = cookielib.CookieJar() post_data = urllib.urlencode( {'email':username, 'password':password, } ) path = 'http://www.renren.com/PLogin.do' opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener) req = urllib2.Request(path,post_data) try: conn = urllib2.urlopen(req) except URLError,e: print 'URLError' logfile.write('URLError:' + str(e.code) + '/r/n') return False except HTTPError,e: logfile.write('HTTP Error:'+e.reason + '/r/n') return False if conn.geturl() == 'http://www.renren.com/home': print 'success' logfile.write('Task finished/r/n') open('login_renren.html','w').write(conn.read()) return conn.read() else: print 'Task Failed' logfile.write('Task failed/r/n') #生成的登录日志文件 file_object = open("log.txt",'w') login_index = renren_login(file_object,'用户名','密码') #这地方换成登录的用户名和密码 #parse 解析网页 r1 = re.compile('''http://www.renren.com/profile.do\?portal=homeFootprint&ref=home_footprint&id=\d{9}''') li = r1.findall(open("login_renren.html","r").read()) <div class="dp-highlighter bg_python"><div class="bar"><div class="tools"><b>[python]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</a><a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy</a><a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</a><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;">?</a><div style="position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 99; "><embed id="ZeroClipboardMovie_2" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="0" height="0" name="ZeroClipboardMovie_2" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&width=0&height=0" wmode="transparent"></div></div></div><ol start="1" class="dp-py"><li class="alt"><span><span class="comment">#将解析到的最近来访的地址放入字典中</span><span> </span></span></li></ol></div><pre name="code" class="python" style="display: none; ">#将解析到的最近来访的地址放入字典中</pre>url_dict ={}for item in li: print item url_dict.setdefault(item)<p></p> <pre></pre> <div class="dp-highlighter bg_python"><div class="bar"><div class="tools"><b>[python]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</a><a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy</a><a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</a><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;">?</a><div style="position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 99; "><embed id="ZeroClipboardMovie_3" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="0" height="0" name="ZeroClipboardMovie_3" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=3&width=0&height=0" wmode="transparent"></div></div></div><ol start="1" class="dp-py"><li class="alt"><span><span> </span></span></li></ol></div><pre name="code" class="python" style="display: none; "></pre><div class="dp-highlighter bg_python"><div class="bar"><div class="tools"><b>[python]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</a><a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy</a><a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</a><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;">?</a><div style="position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 99; "><embed id="ZeroClipboardMovie_4" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="0" height="0" name="ZeroClipboardMovie_4" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=4&width=0&height=0" wmode="transparent"></div></div></div><ol start="1" class="dp-py"><li class="alt"><span><span><span style=</span><span class="string">"font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240); "</span><span>></span><pre name=</span><span class="string">"code"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"python"</span><span>></span><span class="comment">#访问最近来访者</pre>for item in url_dict.iterkeys(): os.startfile(item)</span><span> </span></span></li><li class=""><span><pre></pre> </span></li><li class="alt"><span><br> </span></li><li class=""><span><br> </span></li><li class="alt"><span><p></p> </span></li></ol></div><pre name="code" class="python" style="display: none; "><span style="font-family: monospace; white-space: pre; background-color: rgb(240, 240, 240); "></span><div class="dp-highlighter bg_python"><div class="bar"><div class="tools"><b>[python]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</a><a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy</a><a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</a><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;">?</a><div style="position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 99; "><embed id="ZeroClipboardMovie_5" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="0" height="0" name="ZeroClipboardMovie_5" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=5&width=0&height=0" wmode="transparent"></div></div></div><ol start="1" class="dp-py"><li class="alt"><span><span class="comment">#访问最近来访者</span><span> </span></span></li></ol></div><pre name="code" class="python" style="display: none; ">#访问最近来访者</pre>for item in url_dict.iterkeys(): os.startfile(item) <pre></pre> <br> <br> <p></p> </pre>