﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-infinity</title><link>http://www.cppblog.com/infinity/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 13 Mar 2026 02:34:52 GMT</lastBuildDate><pubDate>Fri, 13 Mar 2026 02:34:52 GMT</pubDate><ttl>60</ttl><item><title>POJ3041  最小点集覆盖/最大二分比配</title><link>http://www.cppblog.com/infinity/archive/2012/03/20/168353.html</link><dc:creator>infinity</dc:creator><author>infinity</author><pubDate>Mon, 19 Mar 2012 17:38:00 GMT</pubDate><guid>http://www.cppblog.com/infinity/archive/2012/03/20/168353.html</guid><wfw:comment>http://www.cppblog.com/infinity/comments/168353.html</wfw:comment><comments>http://www.cppblog.com/infinity/archive/2012/03/20/168353.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/infinity/comments/commentRss/168353.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/infinity/services/trackbacks/168353.html</trackback:ping><description><![CDATA[问题可以转换为最小点集覆盖问题，既求二分图的最大匹配。<br /><div><p align="center">Source Code</p> <br /> <ul><li>Source Code</li></ul></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stdio.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">stdlib.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">#include</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;N</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;K</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;R</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;C</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;asteroids[</span><span style="color: #000000; ">501</span><span style="color: #000000; ">][</span><span style="color: #000000; ">501</span><span style="color: #000000; ">];<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;mark[</span><span style="color: #000000; ">501</span><span style="color: #000000; ">],match[</span><span style="color: #000000; ">501</span><span style="color: #000000; ">];<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;FindPath(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;x){<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;tmp</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">N&nbsp;;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">&nbsp;)<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(asteroids[x][i]&nbsp;</span><span style="color: #000000; ">&amp;&amp;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">mark[i]){<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mark[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(match[i]</span><span style="color: #000000; ">==</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;FindPath(match[i])){<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;match[i]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">x;<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">}<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;main()<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d&nbsp;%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">N,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">K);<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;memset(asteroids,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(asteroids));<br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">K&nbsp;;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">&nbsp;)<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;row,column;<br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scanf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d&nbsp;%d</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">row,</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">column);<br /></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asteroids[row][column]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;count</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;memset(match,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(match));<br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1</span><span style="color: #000000; ">;i</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">N&nbsp;;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">&nbsp;)<br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(mark,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(mark));<br /></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(FindPath(i))&nbsp;count</span><span style="color: #000000; ">++</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%d\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,count);<br /></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #000000; ">}</span></div><img src ="http://www.cppblog.com/infinity/aggbug/168353.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/infinity/" target="_blank">infinity</a> 2012-03-20 01:38 <a href="http://www.cppblog.com/infinity/archive/2012/03/20/168353.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python 模拟自动登陆校内，完成某些操作</title><link>http://www.cppblog.com/infinity/archive/2011/01/20/138945.html</link><dc:creator>infinity</dc:creator><author>infinity</author><pubDate>Wed, 19 Jan 2011 22:26:00 GMT</pubDate><guid>http://www.cppblog.com/infinity/archive/2011/01/20/138945.html</guid><wfw:comment>http://www.cppblog.com/infinity/comments/138945.html</wfw:comment><comments>http://www.cppblog.com/infinity/archive/2011/01/20/138945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/infinity/comments/commentRss/138945.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/infinity/services/trackbacks/138945.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #008000;">#</span><span style="color: #008000;">encoding:utf-8</span><span style="color: #008000;"><br></span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #008000;"></span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;urllib,urllib2,cookielib,re,time<br></span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;renren():<br></span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">def</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">__init__</span><span style="color: #000000;">(self,email,password):<br></span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.url</span><span style="color: #000000;">=</span><span style="color: #800000;">'</span><span style="color: #800000;">http://www.renren.com/</span><span style="color: #800000;">'</span><span style="color: #000000;"><br></span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.email</span><span style="color: #000000;">=</span><span style="color: #000000;">email<br></span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.password</span><span style="color: #000000;">=</span><span style="color: #000000;">password<br></span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cookie</span><span style="color: #000000;">=</span><span style="color: #000000;">cookielib.LWPCookieJar()&nbsp;<br></span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.opener</span><span style="color: #000000;">=</span><span style="color: #000000;">urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))<br></span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.friendIdList</span><span style="color: #000000;">=</span><span style="color: #000000;">[]<br></span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">def</span><span style="color: #000000;">&nbsp;login(self):<br></span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url</span><span style="color: #000000;">=</span><span style="color: #000000;">self.url</span><span style="color: #000000;">+</span><span style="color: #800000;">'</span><span style="color: #800000;">PLogin.do/</span><span style="color: #800000;">'</span><span style="color: #000000;"><br></span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params</span><span style="color: #000000;">=</span><span style="color: #000000;">urllib.urlencode({</span><span style="color: #800000;">'</span><span style="color: #800000;">email</span><span style="color: #800000;">'</span><span style="color: #000000;">:self.email,</span><span style="color: #800000;">'</span><span style="color: #800000;">password</span><span style="color: #800000;">'</span><span style="color: #000000;">:self.password})<br></span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response</span><span style="color: #000000;">=</span><span style="color: #000000;">self.opener.open(urllib2.Request(url,params))<br></span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url</span><span style="color: #000000;">=</span><span style="color: #000000;">self.url</span><span style="color: #000000;">+</span><span style="color: #800000;">'</span><span style="color: #800000;">home</span><span style="color: #800000;">'</span><span style="color: #000000;"><br></span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;response.geturl()</span><span style="color: #000000;">==</span><span style="color: #000000;">url:<br></span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">'</span><span style="color: #800000;">Login&nbsp;Succesfully!</span><span style="color: #800000;">'</span><span style="color: #000000;"><br></span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.cookie.save(</span><span style="color: #800000;">'</span><span style="color: #800000;">xiaonei.coockie</span><span style="color: #800000;">'</span><span style="color: #000000;">)&nbsp;&nbsp;<br></span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">:<br></span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">print</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">'</span><span style="color: #800000;">Login&nbsp;Failed</span><span style="color: #800000;">'</span><span style="color: #000000;"><br></span><span style="color: #008080;">21</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">22</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">def</span><span style="color: #000000;">&nbsp;changeState(self):<br></span><span style="color: #008080;">23</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">pass</span><span style="color: #000000;"><br></span><span style="color: #008080;">24</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">25</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">def</span><span style="color: #000000;">&nbsp;getFriendList(self):<br></span><span style="color: #008080;">26</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url</span><span style="color: #000000;">=</span><span style="color: #800000;">'</span><span style="color: #800000;">http://friend.renren.com/myfriendlistx.do</span><span style="color: #800000;">'</span><span style="color: #000000;"><br></span><span style="color: #008080;">27</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response</span><span style="color: #000000;">=</span><span style="color: #000000;">self.opener.open(urllib2.Request(url))<br></span><span style="color: #008080;">28</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;html</span><span style="color: #000000;">=</span><span style="color: #000000;">response.read()<br></span><span style="color: #008080;">29</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;friend</span><span style="color: #000000;">=</span><span style="color: #000000;">str(re.search(</span><span style="color: #800000;">'</span><span style="color: #800000;">friends=\[{.*}\]</span><span style="color: #800000;">'</span><span style="color: #000000;">,html).group())<br></span><span style="color: #008080;">30</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;friendId</span><span style="color: #000000;">=</span><span style="color: #000000;">re.findall(</span><span style="color: #800000;">'</span><span style="color: #800000;">"id":\d+</span><span style="color: #800000;">'</span><span style="color: #000000;">,friend)<br></span><span style="color: #008080;">31</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;id&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;friendId:<br></span><span style="color: #008080;">32</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.friendIdList.append(id.lstrip(</span><span style="color: #800000;">'</span><span style="color: #800000;">"id":</span><span style="color: #800000;">'</span><span style="color: #000000;">))<br></span><span style="color: #008080;">33</span>&nbsp;<span style="color: #000000;"><br></span><span style="color: #008080;">34</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">def</span><span style="color: #000000;">&nbsp;browseFriend(self):<br></span><span style="color: #008080;">35</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt</span><span style="color: #000000;">=</span><span style="color: #000000;">0<br></span><span style="color: #008080;">36</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;friendId&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;self.friendIdList:<br></span><span style="color: #008080;">37</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt</span><span style="color: #000000;">+=</span><span style="color: #000000;">1</span><span style="color: #000000;"><br></span><span style="color: #008080;">38</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url</span><span style="color: #000000;">=</span><span style="color: #800000;">'</span><span style="color: #800000;">http://www.renren.com/profile.do?id=</span><span style="color: #800000;">'</span><span style="color: #000000;">+</span><span style="color: #800000;">'</span><span style="color: #800000;">%s</span><span style="color: #800000;">'</span><span style="color: #000000;">%</span><span style="color: #000000;">(friendId)<br></span><span style="color: #008080;">39</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urllib2.Request(url)<br></span><span style="color: #008080;">40</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #008000;"></span><span style="color: #008000;">time.sleep(1)</span><span style="color: #008000;"></span><span style="color: #008080;"></span><span style="color: #008000;"></span><span style="color: #000000;"></span><span style="color: #000000;"></span><span style="color: #008080;"></span><span style="color: #000000;"></span><span style="color: #000000;"><br></span><span style="color: #008080;">43</span>&nbsp;<span style="color: #000000;"></span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">__name__</span><span style="color: #000000;">==</span><span style="color: #800000;">'</span><span style="color: #800000;">__main__</span><span style="color: #800000;">'</span><span style="color: #000000;">:<br></span><span style="color: #008080;">44</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;app</span><span style="color: #000000;">=</span><span style="color: #000000;">renren(</span><span style="color: #800000;">'</span><span style="color: #800000;">your email</span><span style="color: #800000;">'</span><span style="color: #000000;">,</span><span style="color: #800000;">'your password</span><span style="color: #800000;"></span><span style="color: #800000;">'</span><span style="color: #000000;">)<br></span><span style="color: #008080;">45</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;app.login()<br></span><span style="color: #008080;">46</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;app.changeState()<br></span><span style="color: #008080;">47</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;app.getFriendList()<br></span><span style="color: #008080;">48</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;app.browseFriend()<br></span><span style="color: #008080;">49</span><span style="color: #000000;"><br></span><span style="color: #008080;">50</span> <br><span style="color: #000000;"></span></div>
changeState 因为不知道怎么分析校内的表单提交方式，他的源码没法查看出表单时提交到哪里了，所以不好写，而类似getFriendList，访问好友啊这样的操作则是可以的，同样还可以写日志啊什么的。<br><br>有谁能告诉我怎么分析校内这种隐藏的表单<br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="submit"</span><span style="color: #ff0000;">&nbsp;autocomplete</span><span style="color: #0000ff;">="false"</span><span style="color: #ff0000;">&nbsp;id</span><span style="color: #0000ff;">="publisher_submit"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="submit"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="发布"</span><span style="color: #ff0000;">&nbsp;stats</span><span style="color: #0000ff;">="Pub_Send"</span><span style="color: #0000ff;">&gt;</span></div>
是后台的js代码么<br><br>不过话说回来，python的urllib，urllib2什么的倒是很好用，做一些相关的应用都是很简单的<br><br><img src ="http://www.cppblog.com/infinity/aggbug/138945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/infinity/" target="_blank">infinity</a> 2011-01-20 06:26 <a href="http://www.cppblog.com/infinity/archive/2011/01/20/138945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python写的短路计算软件</title><link>http://www.cppblog.com/infinity/archive/2011/01/04/137975.html</link><dc:creator>infinity</dc:creator><author>infinity</author><pubDate>Tue, 04 Jan 2011 14:09:00 GMT</pubDate><guid>http://www.cppblog.com/infinity/archive/2011/01/04/137975.html</guid><wfw:comment>http://www.cppblog.com/infinity/comments/137975.html</wfw:comment><comments>http://www.cppblog.com/infinity/archive/2011/01/04/137975.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/infinity/comments/commentRss/137975.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/infinity/services/trackbacks/137975.html</trackback:ping><description><![CDATA[<br>
<p>为了万恶的课设啊。写了个小软件。只可惜验收的老师对编程</p>
<p>一窍不通，还让我改这个改那个的，我特么做成UI了有那么容易改么。</p>
<p>在说了1个课设，1个晚上敷衍出来的东西能做那么完美么，全年级</p>
<p>99%的人都是命令行的，我容易么，手写的代码，手不用流汗的么，</p>
<p>还一直说上上届有谁谁做的我这样的，如何如何比我这牛逼，你有本</p>
<p>事做成。。大概意思就是做成那种基于图元类的拖放元件的那种。。</p>
<p>我笑了。直接跟那老实说，你懂个毛，然后各种对喷1v2，他们居然</p>
<p>没吧我赶出来。哎想想好牛逼啊。。</p>
<p>先上个截图</p>
<p><img alt=""  src="http://www.cppblog.com/images/cppblog_com/infinity/1.png" height="767" width="1023"><br></p>
<p>需要代码的同学密我</p>
<p><br></p>
<p>&nbsp;<img src="file:///C:/Users/ADMINI~1/AppData/Local/Temp/moz-screenshot-4.png" alt=""></p><img src ="http://www.cppblog.com/infinity/aggbug/137975.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/infinity/" target="_blank">infinity</a> 2011-01-04 22:09 <a href="http://www.cppblog.com/infinity/archive/2011/01/04/137975.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python 2.5 中显示中文的办法 </title><link>http://www.cppblog.com/infinity/archive/2010/07/28/121423.html</link><dc:creator>infinity</dc:creator><author>infinity</author><pubDate>Tue, 27 Jul 2010 16:51:00 GMT</pubDate><guid>http://www.cppblog.com/infinity/archive/2010/07/28/121423.html</guid><wfw:comment>http://www.cppblog.com/infinity/comments/121423.html</wfw:comment><comments>http://www.cppblog.com/infinity/archive/2010/07/28/121423.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/infinity/comments/commentRss/121423.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/infinity/services/trackbacks/121423.html</trackback:ping><description><![CDATA[终于知道了<br><br>在代码的开头加上一句话<br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#coding:gb18030</span></div>
这样就ok了 就是utf-8编码了<br><br><img src ="http://www.cppblog.com/infinity/aggbug/121423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/infinity/" target="_blank">infinity</a> 2010-07-28 00:51 <a href="http://www.cppblog.com/infinity/archive/2010/07/28/121423.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet层次</title><link>http://www.cppblog.com/infinity/archive/2010/07/27/121385.html</link><dc:creator>infinity</dc:creator><author>infinity</author><pubDate>Tue, 27 Jul 2010 03:21:00 GMT</pubDate><guid>http://www.cppblog.com/infinity/archive/2010/07/27/121385.html</guid><wfw:comment>http://www.cppblog.com/infinity/comments/121385.html</wfw:comment><comments>http://www.cppblog.com/infinity/archive/2010/07/27/121385.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/infinity/comments/commentRss/121385.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/infinity/services/trackbacks/121385.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/infinity/archive/2010/07/27/121385.html'>阅读全文</a><img src ="http://www.cppblog.com/infinity/aggbug/121385.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/infinity/" target="_blank">infinity</a> 2010-07-27 11:21 <a href="http://www.cppblog.com/infinity/archive/2010/07/27/121385.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>