/doc/python ?????(?) - ????.htm
HTML | 593 lines | 558 code | 23 blank | 12 comment | 0 complexity | e9f9b48e7365d3bed6100a1d58461b2c MD5 | raw file
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <!-- saved from url=(0036)http://www.sou5.cn/archives/646.html -->
- <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="zh-CN"><head profile="http://gmpg.org/xfn/11"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
- <title>python ?????(?) - ????</title>
- <meta name="author" content="prower">
- <meta name="copyright" content="design by prower">
-
- <link rel="stylesheet" href="./python ?????(?) - ????_files/style.css" type="text/css" media="screen">
- <link rel="alternate" type="application/rss+xml" title="???? RSS Feed" href="http://www.sou5.cn/feed">
- <link rel="pingback" href="http://www.sou5.cn/xmlrpc.php">
- <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/07">
- <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/06">
- <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/05">
- <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/02">
- <link rel="archives" title="2012 ???" href="http://www.sou5.cn/archives/date/2012/01">
- <link rel="archives" title="2011 ????" href="http://www.sou5.cn/archives/date/2011/12">
- <link rel="archives" title="2011 ????" href="http://www.sou5.cn/archives/date/2011/11">
- <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/10">
- <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/09">
- <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/08">
- <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/04">
- <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/03">
- <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/02">
- <link rel="archives" title="2011 ???" href="http://www.sou5.cn/archives/date/2011/01">
- <link rel="archives" title="2010 ????" href="http://www.sou5.cn/archives/date/2010/11">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/10">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/08">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/07">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/06">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/05">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/04">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/03">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/02">
- <link rel="archives" title="2010 ???" href="http://www.sou5.cn/archives/date/2010/01">
- <link rel="archives" title="2009 ????" href="http://www.sou5.cn/archives/date/2009/12">
- <link rel="archives" title="2009 ????" href="http://www.sou5.cn/archives/date/2009/11">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/10">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/09">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/08">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/07">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/05">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/04">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/03">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/02">
- <link rel="archives" title="2009 ???" href="http://www.sou5.cn/archives/date/2009/01">
- <link rel="archives" title="2008 ????" href="http://www.sou5.cn/archives/date/2008/12">
- <link rel="alternate" type="application/rss+xml" title="???? » python ?????(?) ?? Feed" href="http://www.sou5.cn/archives/646.html/feed">
- <link rel="stylesheet" id="wp_dlmp_styles-css" href="./python ?????(?) - ????_files/styles.css" type="text/css" media="all">
- <link rel="stylesheet" id="NextGEN-css" href="./python ?????(?) - ????_files/nggallery.css" type="text/css" media="screen">
- <link rel="stylesheet" id="shutter-css" href="./python ?????(?) - ????_files/shutter-reloaded.css" type="text/css" media="screen">
- <script type="text/javascript" src="./python ?????(?) - ????_files/prototype.js"></script>
- <script type="text/javascript" src="./python ?????(?) - ????_files/wp-scriptaculous.js"></script>
- <script type="text/javascript" src="./python ?????(?) - ????_files/effects.js"></script>
- <script type="text/javascript" src="./python ?????(?) - ????_files/lightbox.js"></script>
- <script type="text/javascript" src="./python ?????(?) - ????_files/comment-reply.js"></script>
- <script type="text/javascript">
- /* <![CDATA[ */
- var shutterSettings = {"msgLoading":"L O A D I N G","msgClose":"Click to Close","imageCount":"1"};
- /* ]]> */
- </script>
- <script type="text/javascript" src="./python ?????(?) - ????_files/shutter-reloaded.js"></script>
- <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.sou5.cn/xmlrpc.php?rsd">
- <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.sou5.cn/wp-includes/wlwmanifest.xml">
- <link rel="prev" title="????????? ? (?)" href="http://www.sou5.cn/archives/643.html">
- <link rel="next" title="? Gearman ?? PHP ?????????" href="http://www.sou5.cn/archives/657.html">
- <meta name="generator" content="WordPress 3.4.1">
- <link rel="canonical" href="./python ?????(?) - ????_files/python ?????(?) - ????.htm">
- <link rel="shortlink" href="http://www.sou5.cn/?p=646">
- <link href="./python ?????(?) - ????_files/SyntaxHighlighter.css" type="text/css" rel="stylesheet">
-
- <!-- begin lightbox scripts -->
- <script type="text/javascript">
- //<![CDATA[
- document.write('<link rel="stylesheet" href="http://www.sou5.cn/wp-content/plugins/lightbox-2/Themes/Black/lightbox.css" type="text/css" media="screen" />');
- //]]>
- </script><link rel="stylesheet" href="./python ?????(?) - ????_files/lightbox.css" type="text/css" media="screen">
- <!-- end lightbox scripts -->
- <link id="MediaRSS" rel="alternate" type="application/rss+xml" title="NextGEN Gallery RSS Feed" href="http://www.sou5.cn/wp-content/plugins/nextgen-gallery/xml/media-rss.php">
- <!-- NextGeEN Gallery CoolIris/PicLens support -->
- <script type="text/javascript" src="./python ?????(?) - ????_files/piclens_optimized.js"></script>
- <!-- /NextGEN Gallery CoolIris/PicLens support -->
- <meta name="NextGEN" content="1.5.3">
- <link type="text/css" rel="stylesheet" href="chrome-extension://imamemhokkdleoelohnmkimbmpfglcil/css/capture.css"><style id="__huaban_Style">#__huaban_Container {font-family: 'helvetica neue', arial, sans-serif; position: absolute; padding-top: 37px; z-index: 100000002; top: 0; left: 0; background-color: transparent; opacity: 1;hasLayout:-1;}#__huaban_Overlay {position: fixed; z-index: 100000001; top: 0; right: 0; bottom: 0; left: 0; background-color: #f2f2f2; opacity: .95;}* html #__huaban_Overlay {position: absolute;}#__huaban_Control {position:relative; z-index: 100000; float: left; background-color: #fcf9f9; border: solid #ccc; border-width: 0 1px 1px 0; height: 200px; width: 200px; opacity: 1;}* html #__huaban_Control {position:static;}#__huaban_Control img {position: relative; padding: 0; display: block; margin: 82px auto 0; -ms-interpolation-mode: bicubic;}#__huaban_Control a {position: fixed; z-index: 10001; right: 0; top: 0; left: 0; height: 24px; padding: 12px 0 0; text-align: center; font-size: 14px; line-height: 1em; text-shadow: 0 1px #fff; color: #211922; font-weight: bold; text-decoration: none; background: #fff url(http://huaban.com/img/fullGradient07Normal.png) 0 0 repeat-x; border-bottom: 1px solid #ccc; -mox-box-shadow: 0 0 2px #d7d7d7; -webkit-box-shadow: 0 0 2px #d7d7d7;}* html #__huaban_Control a {position: absolute; width: 100%;}#__huaban_Control a:hover {color: #fff; text-decoration: none; background-color: #1389e5; border-color: #1389e5; text-shadow: 0 -1px #46A0E6;}#__huaban_Control a:active {height: 23px; padding-top: 13px; background-color: #211922; border-color: #211922; background-image: url(http://huaban.com/img/fullGradient07Inverted.png); text-shadow: 0 -1px #211922;}.__huabanImagePreview {position: relative; padding: 0; margin: 0; float: left; background-color: #fff; border: solid #e7e7e7; border-width: 0 1px 1px 0; height: 200px; width: 200px; opacity: 1; z-index: 10002; text-align: center; overflow:hidden;}.__huabanImagePreview .__huabanVideoIcon {position:absolute;display:block;top:0;left:0;width:100%;height:100%;background:url(http://huaban.com/img/media_video.png) center center no-repeat;}.__huabanImagePreview .__huabanImg {border: none; height: 200px; width: 200px; opacity: 1; padding: 0; position: absolute; top: 0;}.__huabanImagePreview .__huabanImg a {margin: 0; padding: 0; position: absolute; top: 0; bottom: 0; right: 0; left: 0; display: block; text-align: center; z-index: 1;}.__huabanImagePreview .__huabanImg a:hover {background-color: #fcf9f9; border: none;}.__huabanImagePreview .__huabanImg .ImageToPin {max-height: 200px; max-width: 200px; width: auto !important; height: auto !important;}.__huabanImagePreview img.__huaban_PinIt {border: none; position: absolute; top: 82px; left: 42px; display: none; padding: 0; background-color: transparent; z-index: 100;}.__huabanImagePreview strong {text-indent: -9999px; position: absolute; top: 82px; display: none; height: 32px; background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0 0;}.__huabanImagePreview strong.__huaban_ThunderPin {width: 24px; left: 52px; background-position: 0 0;}.__huabanImagePreview strong.__huaban_ThunderPin:hover {background-position: 0 -50px;}.__huabanImagePreview strong.__huaban_ThunderPin:active {background-position: 0 -100px;}.__huabanImagePreview strong.__huaban_Pin {width: 72px; left: 75px; background-position: -40px 0;}.__huabanImagePreview strong.__huaban_Pin:hover {background-position: -40px -50px;}.__huabanImagePreview strong.__huaban_Pin:active {background-position: -40px -100px;}.__huabanImagePreview img.__huaban_vidind {border: none; position: absolute; top: 75px; left: 75px; padding: 0; background-color: transparent; z-index: 99;}.__huabanDimensions { color: #000; position: relative; margin-top: 180px; text-align: center; font-size: 10px; z-index:10003; display: inline-block; background: white; border-radius: 4px; padding: 0 2px;}#__huaban_Button { display: block; position: absolute; z-index: 999999999 !important; color: #211922; text-shadow: 0 1px #eaeaea; font: 12px/1 'Helvetica Neue',Helvetica,Arial,Sans-serif; text-align: center; padding: 0; margin: 0; cursor: pointer;}#__huaban_Button a {text-decoration: none; color: #211922; display: inline-block; text-align: center; line-height: 14px; height: 14px; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; cursor: pointer; position: absolute; top: 0; left: 0; height: 14px; margin: 0 2px; padding: 5px 8px; border: 1px solid #555; border: 1px solid rgba(140, 126, 126, .5); background-color: #fff;}#__huaban_Button a:hover {text-decoration: none; background-image: -webkit-linear-gradient(top, #fefeff, #efefef); background-image: -moz-linear-gradient(top, #fefeff, #efefef); box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -o-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -ms-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -moz-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -webkit-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75);}#__huaban_Button a:active {text-decoration: none; background-image: -webkit-linear-gradient(top, #fefeff, #efefef); background-image: -moz-linear-gradient(top, #fefeff, #efefef); box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -o-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -ms-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -moz-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -webkit-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5);}#__huaban_Button a strong {position: relative; line-height: 12px;}#__huaban_Button a.thunderpin {margin-right: 0; border-right: none; width: 14px; padding: 5px 0 5px 4px; border-top-right-radius: 0; border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; -webkit-border-bottom-right-radius: 0; -moz-border-top-right-radius: 0; -moz-border-bottom-right-radius: 0; -ms-border-top-right-radius: 0; -ms-border-bottom-right-radius: 0; -o-border-top-right-radius: 0; -o-border-bottom-right-radius: 0;}#__huaban_Button a.thunderpin em {background: url(http://huaban.com/img/ActionIcons10.png?20120801) no-repeat -30px 0; position: relative; display: inline-block; width: 10px; height: 10px; top: 1px; left: -2px;}#__huaban_Button a.thunderpin:hover em {background-image-postion: -30px -10px;}#__huaban_Button a.thunderpin:active em {background-image-postion: -30px -20px;}#__huaban_Button a.pin {left: 20px; width: 64px; margin-left: 0; *margin-left: -2px; border-top-left-radius: 0; border-bottom-left-radius: 0; -webkit-border-top-left-radius: 0; -webkit-border-bottom-left-radius: 0; -moz-border-top-left-radius: 0; -moz-border-bottom-left-radius: 0; -ms-border-top-left-radius: 0; -ms-border-bottom-left-radius: 0; -o-border-top-left-radius: 0; -o-border-bottom-left-radius: 0;}.__huaban_Button_share {text-indent: -9999px; width: 80px; height: 24px; padding:0; background: url(http://huaban.com/img/sharebutton_sprite.png?20120801) no-repeat 0 -80px; background: url(http://huaban.com/img/sharebutton_sprite.png?20120801) no-repeat 0 -80px !important; border: none;}.__huaban_Button_share:hover {background-position: 0 -120px; background-position: 0 -120px !important;}.__huaban_Button_share_top {background-position: 0 -80px; background-position: 0 -80px !important;}.__huaban_Button_share_top:hover {background-position: 0 -120px; background-position: 0 -120px !important;}.__huaban_Button_share_bottom {background-position: 0 0; background-position: 0 0 !important;}.__huaban_Button_share_bottom:hover {background-position: 0 -40px; background-position: 0 -40px !important;}.__huaban_thunder_tip { height: 16px; position: absolute; z-index: 999999999 !important; background: #000; background: rgba(0,0,0,0.5); color: #ddd; line-height: 16px; padding: 5px; border-radius: 2px; margin-left: 2px; }.__huabanImagePreview .__huaban_thunder_tip {height: 12px; line-height: 12px; padding: 10px; font-size: 14px; top: 50%; left: 50%; margin-left: -48px; margin-top: -18px;}.__huaban_thunder_tip_success {color: #fff;font-weight: bold; height: 32px;}.__huaban_thunder_tip p {font-weight: normal; text-align: center; margin-top: 2px;}.__huaban_thunder_tip a {color: #fff;}.__huaban_thunder_tip_failed {height: 32px; font-weight: bold; color: #fff;background: #c90000; background: rgba(201, 0, 0, .5); }.__huaban_thunder_tip_failed p {margin: 0 2px; font-weight: normal; font-size: 12px;}.__huaban_thunder_tip span { padding-left: 18px; position: relative;}.__huaban_thunder_tip span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0px -150px; display: inline-block; height: 16px; width: 16px; position: absolute; left: 0; top: 50%; margin-top: -8px;}.__huaban_thunder_tip_success span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0px -150px;}.__huaban_thunder_tip_failed span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat -40px -150px;}.__huaban_thunder_tip_ing span em { background: url(http://huaban.com/img/thunder_motion.gif?20120801) no-repeat 2px 2px;}.__huabanImagePreview .__huaban_thunder_tip_failed {height: 32px; width: 140px; margin-left: -80px; margin-top: -26px;}.__huabanImagePreview .__huaban_thunder_tip_success {height: 32px; width: 88px; margin-left: -52px; margin-top: -26px;}.__huabanImagePreview .__huaban_thunder_tip_ing {width: 72px;}.__huabanImagePreview .__huaban_thunder_tip_success p, .__huabanImagePreview .__huaban_thunder_tip_failed p {margin-top: 9px; font-size: 12px; display: block;}</style></head>
- <body huaban_screen_capture_injected="true">
- <script type="text/javascript">
- var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
- document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F16b28572b73f01801400a8db18332b90' type='text/javascript'%3E%3C/script%3E"));
- </script><script src="./python ?????(?) - ????_files/h.js" type="text/javascript"></script>
- <div id="top">
- <div class="w970">
- <ul>
- <li class="page_item page-item-488"><a href="http://www.sou5.cn/140">140</a></li>
- <li class="page_item page-item-446"><a href="http://www.sou5.cn/2009">2009</a></li>
- <li class="page_item page-item-166"><a href="http://www.sou5.cn/google">Google</a></li>
- <li class="page_item page-item-5"><a href="http://www.sou5.cn/%e9%93%be%e6%8e%a5">IF</a></li>
- <li class="page_item page-item-285"><a href="http://www.sou5.cn/jquery">JQuery</a></li>
- <li class="page_item page-item-30"><a href="http://www.sou5.cn/me">ME</a></li>
- <li class="page_item page-item-364"><a href="http://www.sou5.cn/django">Python</a></li>
- <li class="page_item page-item-91"><a href="http://www.sou5.cn/%e5%bc%80%e6%ba%90">??</a></li>
- <li class="page_item page-item-102"><a href="http://www.sou5.cn/%e6%a1%86%e6%9e%b6">??</a></li>
- <li class="page_item page-item-98"><a href="http://www.sou5.cn/%e8%af%bb%e4%b9%a6">??</a></li>
- <li class="page_item page-item-79"><a href="http://www.sou5.cn/%e8%b5%84%e6%ba%90%e9%93%be%e6%8e%a5%e6%94%b6%e9%9b%86">??</a></li>
- <li class="page_item page-item-94"><a href="http://www.sou5.cn/%e9%9a%8f%e6%89%8b">??</a></li>
- </ul>
- Web 2.0 ??????? ????? </div>
- </div>
- <div id="header">
- <div class="w970">
- <h1><a href="http://www.sou5.cn/">????</a></h1>
- <div id="search">
- <form id="searchform" method="get" action="http://www.sou5.cn/">
- <input type="text" value="" name="s" id="s" size="20">
- <input type="submit" value="??">
- </form>
- </div>
- </div>
- </div>
- <div id="nav">
- <div class="w970">
- <ul>
- <li><a title="Home" href="http://www.sou5.cn/">? ?</a></li>
- <li class="cat-item cat-item-1"><a href="http://www.sou5.cn/archives/category/lecture" title="lecture">Lecture</a>
- </li>
- <li class="cat-item cat-item-4"><a href="http://www.sou5.cn/archives/category/%e6%88%91%e7%9a%84%e7%94%9f%e6%b4%bb" title="????">My Life</a>
- </li>
- <li class="cat-item cat-item-3 current-cat"><a href="http://www.sou5.cn/archives/category/tech" title="tech">Tech</a>
- </li>
- <li class="cat-item cat-item-172"><a href="http://www.sou5.cn/archives/category/%e5%8e%9f%e5%88%9b" title="?? ?? ??????">??</a>
- </li>
- </ul>
- <div id="rss">
- <a id="rss_icon" title="RSS??" href="http://www.sou5.cn/feed"></a>
- </div>
- </div>
- </div><div class="w970">
- <div id="main">
- <div class="post_nav">
- <span class="alignleft">« <a href="http://www.sou5.cn/archives/643.html" rel="prev">????????? ? (?)</a></span>
- <span class="alignright"><a href="http://www.sou5.cn/archives/657.html" rel="next">? Gearman ?? PHP ?????????</a> »</span>
- </div>
- <div class="post-646 post type-post status-publish format-standard hentry category-tech tag-python tag-threading" id="post-646">
- <div class="meta"><span class="time">2010?03?2?</span><a href="http://www.sou5.cn/archives/category/tech" title="?? Tech ??????" rel="category tag">Tech</a><br> <a href="http://www.sou5.cn/archives/tag/python" rel="tag">Python</a> <a href="http://www.sou5.cn/archives/tag/threading" rel="tag">threading</a></div>
- <div class="content">
- <h2>python ?????(?)</h2>
- <p>???????????????????</p>
- <p>* ??????????<br>
- * ?????????????????????<br>
- * ??????????mysql?</p>
- <p>????????????????</p>
- <pre name="code" class"py"=""> def get_urls():
- """???????url????"""
- pass
- </pre>
- <pre name="code" class"py"=""> def get_data(url):
- """????url??????"""
- pass
- </pre>
- <pre name="code" class"py"=""> def store_data(title,content):
- """??????????mysql??????title,data"""
- pass
- </pre>
- <p>?????????????spliter.py?????????????????????????<br>
- ??????????</p>
- <p>??????????????????????</p>
- <pre name="code" class"py"="">import spliter
- for url in spliter.get_urls():
- title,content = spliter.get_data()
- spliter.store_data(title,content)
- </pre>
- <p>????????????????????????????????????????????????????????????????????? ?????????????1????????theading????????????<br>
- ?theading??????</p>
- <pre name="code" class"py"="">import threading,spliter,time
- def thread(url):
- title,content = spliter.get_data(url)
- spliter.store_data(title,content)
- for url in spliter.get_urls():
- t = threading.Thread(target=thread, kward={'url':url})
- t.start()
- while threading.activeCount() &gt; 1: time.sleep(1)
- </pre>
- <p>???????????????????????????????????url??????????????????????</p>
- <p>* ???????1000+??????????????Dos??????????????????????<br>
- * ?????????????????????????<br>
- * ???????????????????????????????????douban.com ????????????????</p>
- <p>???????????????????</p>
- <pre name="code" class"py"="">import threading,spliter,time
- THREAD_LIMIT = 20
- def thread(url):
- title,content = spliter.get_data(url)
- spliter.store_data(title,content)
- for url in spliter.get_urls():
- while threading.activeCount() &gt; THREAD_LIMIT:time.sleep(1)
- t = threading.Thread(target=thread, kward={'url':url})
- t.start()
- while threading.activeCount() &gt; 1: time.sleep(1)
- </pre>
- <p>????????for????????while???????????????????????<br>
- ?????????????????????????????????????????????????????????????????????<br>
- ???????????</p>
- <pre name="code" class"py"="">import threading, spliter ,time , Queue
- THREAD_LIMIT = 50
- jobs = Queue.Queue(0)
- def thread():
- while True:
- try:
- url = jobs.get(False)
- except Queue.Empty:
- return
- title,content = spliter.get_data(url)
- spliter.store_data(title,content)
- for url in spliter.get_urls():
- jobs.put(url)
- for n in xrange(THREAD_LIMIT):
- t = threading.Thread(target=thread)
- t.start()
- while threading.activeCount() &gt; 1: time.sleep(1)
- </pre>
- <p>?????????</p>
- <p>* ??????????50?????????????</p>
- <p>???????:</p>
- <p>* ???????????????????????????????????????????????????????????…</p>
- <pre name="code" class"py"="">ONE WORKER, MANY RUNERS
- import threading, spliter ,time , Queue
- THREAD_LIMIT = 50
- jobs = Queue.Queue(0)
- process = Queue.Queue(LIMIT)
- def thread():
- while True:
- try:
- url = jobs.get(False)
- except Queue.Empty:
- return
- title,content = spliter.get_data(url)
- process.put((title,content),True)
- if __name__ == '__main__':
- for url in spliter.get_urls():
- jobs.put(url)
- for n in xrange(THREAD_LIMIT):
- t = threading.Thread(target=thread)
- t.start()
- while threading.activeCount() &gt; 1 or not process.empty():
- try:
- title,content = process.get(False,1)
- except Queue.Empty:
- continue
- spliter.store_data(title,content)
- </pre>
- <p>?????????????????????????????? ????????????????????????</p>
- <p><strong>???Python???</strong><br>
- <a href="http://chrisarndt.de/projects/threadpool">http://chrisarndt.de/projects/threadpool</a></p>
- </div>
- </div>
- <div id="post_metadata">
- <h3>???? »</h3>
- <div class="content">
- ????2010-03-02 20:33? admin ???<a href="http://www.sou5.cn/archives/category/tech" title="?? Tech ??????" rel="category tag">Tech</a>????
- ???<a href="http://www.sou5.cn/archives/646.html#respond">????</a>?????????????<a href="./python ?????(?) - ????_files/python ?????(?) - ????.htm" rel="bookmark">???</a>???????<a href="http://www.sou5.cn/archives/646.html/trackback" rel="trackback">??</a>??????????????<a href="http://www.sou5.cn/archives/646.html/feed">RSS 2.0</a>????????????
- </div>
- </div>
- <div id="comments">
- <h3>????<small><a href="http://www.sou5.cn/archives/646.html#postcomment" title="????">?</a></small></h3>
- </div>
- <div id="respond">
- <h3 id="post_comment">???? »</h3>
- <div id="cancel_comment_reply"><a rel="nofollow" id="cancel-comment-reply-link" href="http://www.sou5.cn/archives/646.html#respond" style="display:none;">?????????</a></div>
- <form action="http://www.sou5.cn/wp-comments-post.php" method="post" id="commentform" name="commentform">
- <p><textarea name="comment" id="comment" rows="5" tabindex="4"></textarea></p>
- <p><input type="text" name="author" id="author" value="" size="22" tabindex="1">
- <label for="author">?? (??)</label></p>
- <p><input type="text" name="email" id="email" value="" size="22" tabindex="2">
- <label for="email">???? (?????) (??)</label></p>
- <p><input type="text" name="url" id="url" value="" size="22" tabindex="3">
- <label for="url">??</label></p>
- <p><input type="submit" id="submit" tabindex="5" value="????(Ctrl+Enter)"></p>
- <input type="hidden" name="comment_post_ID" value="646" id="comment_post_ID">
- <input type="hidden" name="comment_parent" id="comment_parent" value="0">
- </form>
- <script type="text/javascript">
- <!--//--><![CDATA[//><!--
- var commenttextarea = document.getElementById('comment');
- commenttextarea.onkeydown = function quickSubmit(e) {
- if (!e) var e = window.event;
- if (e.ctrlKey && e.keyCode == 13){
- document.getElementById('submit').click();
- }
- };
- //--><!]]>
- </script>
- </div>
- </div>
- <div id="sidebar">
- <ul>
- <li id="recent-posts-2" class="widget widget_recent_entries"> <h2>????</h2> <ul>
- <li><a href="http://www.sou5.cn/archives/975.html" title="Mac ?QQ?????">Mac ?QQ????? </a></li>
- <li><a href="http://www.sou5.cn/archives/973.html" title="????????X64 RedHat5.1 ????????PHP ???????(?)">????????X64 RedHat5.1 ????????PHP ???????(?) </a></li>
- <li><a href="http://www.sou5.cn/archives/971.html" title="jdk????">jdk???? </a></li>
- <li><a href="http://www.sou5.cn/archives/970.html" title="Facebook???">Facebook??? </a></li>
- <li><a href="http://www.sou5.cn/archives/968.html" title="?????Google??????????(?)">?????Google??????????(?) </a></li>
- </ul>
- </li><li id="archives-2" class="widget widget_archive"><h2>????</h2> <select name="archive-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;"> <option value="">????</option> <option value="http://www.sou5.cn/archives/date/2012/07"> 2012 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2012/06"> 2012 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2012/05"> 2012 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2012/02"> 2012 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2012/01"> 2012 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2011/12"> 2011 ???? (4)</option>
- <option value="http://www.sou5.cn/archives/date/2011/11"> 2011 ???? (4)</option>
- <option value="http://www.sou5.cn/archives/date/2011/10"> 2011 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2011/09"> 2011 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2011/08"> 2011 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2011/04"> 2011 ??? (4)</option>
- <option value="http://www.sou5.cn/archives/date/2011/03"> 2011 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2011/02"> 2011 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2011/01"> 2011 ??? (3)</option>
- <option value="http://www.sou5.cn/archives/date/2010/11"> 2010 ???? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2010/10"> 2010 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2010/08"> 2010 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2010/07"> 2010 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2010/06"> 2010 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2010/05"> 2010 ??? (5)</option>
- <option value="http://www.sou5.cn/archives/date/2010/04"> 2010 ??? (7)</option>
- <option value="http://www.sou5.cn/archives/date/2010/03"> 2010 ??? (7)</option>
- <option value="http://www.sou5.cn/archives/date/2010/02"> 2010 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2010/01"> 2010 ??? (4)</option>
- <option value="http://www.sou5.cn/archives/date/2009/12"> 2009 ???? (16)</option>
- <option value="http://www.sou5.cn/archives/date/2009/11"> 2009 ???? (3)</option>
- <option value="http://www.sou5.cn/archives/date/2009/10"> 2009 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2009/09"> 2009 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2009/08"> 2009 ??? (2)</option>
- <option value="http://www.sou5.cn/archives/date/2009/07"> 2009 ??? (7)</option>
- <option value="http://www.sou5.cn/archives/date/2009/05"> 2009 ??? (1)</option>
- <option value="http://www.sou5.cn/archives/date/2009/04"> 2009 ??? (4)</option>
- <option value="http://www.sou5.cn/archives/date/2009/03"> 2009 ??? (10)</option>
- <option value="http://www.sou5.cn/archives/date/2009/02"> 2009 ??? (19)</option>
- <option value="http://www.sou5.cn/archives/date/2009/01"> 2009 ??? (18)</option>
- <option value="http://www.sou5.cn/archives/date/2008/12"> 2008 ???? (37)</option>
- </select>
- </li><li id="search-2" class="widget widget_search"><form role="search" method="get" id="searchform" action="http://www.sou5.cn/">
- <div><label class="screen-reader-text" for="s">???</label>
- <input type="text" value="" name="s" id="s">
- <input type="submit" id="searchsubmit" value="??">
- </div>
- </form></li><li id="text-304672962" class="widget widget_text"> <div class="textwidget"></div>
- </li><li id="linkcat-98" class="widget widget_links"><h2>DB</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://www.jianzhaoyang.com/" target="_blank">?????</a></li>
- </ul>
- </li>
- <li id="linkcat-47" class="widget widget_links"><h2>linux</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://www.linuxtone.org/" target="_blank">IT?????</a></li>
- <li><a href="http://linuxtoy.org/" target="_blank">LinuxTOY</a></li>
- </ul>
- </li>
- <li id="linkcat-71" class="widget widget_links"><h2>ME like</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://nettuts.com/" target="_blank">Web Development</a></li>
- <li><a href="http://en.gravatar.com/" target="_blank">??????</a></li>
- <li><a href="http://myfolio.com/" target="_blank">????</a></li>
- <li><a href="http://www.sincol.net/" target="_blank">??sincol</a></li>
- </ul>
- </li>
- <li id="linkcat-54" class="widget widget_links"><h2>??</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://www.zendstudio.net/index.php">zendstudio</a></li>
- <li><a href="http://ued.taobao.com/blog/" target="_blank">??UED</a></li>
- </ul>
- </li>
- <li id="linkcat-16" class="widget widget_links"><h2>????</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://www.dbanotes.net/" target="_blank">DBA notes</a></li>
- <li><a href="http://www.diglog.com/" title="diglog.com – ????,???? " target="_blank">diglog – ????</a></li>
- <li><a href="http://www.duduwolf.com/wiki" target="_blank">duduwolf</a></li>
- <li><a href="http://eroading.com/" target="_blank">e??</a></li>
- <li><a href="http://fallabs.com/" rel="acquaintance" title="fallabs(??)" target="_blank">fallabs(??)</a></li>
- <li><a href="http://github.com/" target="_blank">github</a></li>
- <li><a href="http://if.4kiki.net/" rel="friend co-worker co-resident" target="_blank">I-Framework</a></li>
- <li><a href="http://www.ibm.com/developerworks/" target="_blank">IBM-developerWorks</a></li>
- <li><a href="http://www.ibm.com/developerworks/cn/" target="_blank">IBM-developerWorks ??</a></li>
- <li><a href="http://www.ibm.com/developerworks/cn/web20/index.html?S_TACT=105AGX52&S_CMP=content" target="_blank">IBM-Web 2.0 ????</a></li>
- <li><a href="http://www.igvita.com/" target="_blank">igvita</a></li>
- <li><a href="http://www.infoq.com/cn" title="InfoQ: ?????????????????? " target="_blank">infoq??</a></li>
- <li><a href="http://www.linuxtone.org/" target="_blank">IT?????</a></li>
- <li><a href="http://l-wy.cn/" target="_blank">Lwy’s Dreamland</a></li>
- <li><a href="http://blog.sina.com.cn/wxmbj" target="_blank">TONY???</a></li>
- <li><a href="http://mlsx.xplore.cn/" target="_blank">xplore</a></li>
- <li><a href="http://www.woodpecker.org.cn/" target="_blank">??? Pythonic</a></li>
- <li><a href="http://blog.s135.com/" title="??????????" target="_blank">????</a></li>
- <li><a href="http://blog.phpexp.cn/" target="_blank">? ??</a></li>
- <li><a href="http://www.lostk.com/blog/" target="_blank">????</a></li>
- <li><a href="http://www.ooso.net/" target="_blank">??????</a></li>
- <li><a href="http://www.hiadmin.com/" target="_blank">????</a></li>
- <li><a href="http://chaoqun.17348.com/" title="??" target="_blank">??</a></li>
- <li><a href="http://www.chedong.com/blog/" title="??[Blog^2]" target="_blank">??[Blog^2]</a></li>
- </ul>
- </li>
- <li id="linkcat-74" class="widget widget_links"><h2>??</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://blog.likeshow.net/">Search Engine</a></li>
- <li><a href="http://tttick.cnblogs.com/">T.t.T!Ck.?</a></li>
- </ul>
- </li>
- <li id="linkcat-2" class="widget widget_links"><h2>???</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://blog.youxu.info/" title="??: ?? ????????????????????????????????(????)?”?????”????????????? Geek ???" target="_blank">4G Spaces</a></li>
- <li><a href="http://apple4.us/" title="????????????????? ?????????????(???? Jobs ???)??????????????????????" target="_blank">apple4us</a></li>
- <li><a href="http://eroading.com/" target="_blank">e??</a></li>
- <li><a href="http://www.gracecode.com/" title="??: ???? ???? UED ? “????” ??????? Blogger ??????????????????????????????????????????????????? “Javascript ????” ????????( 2009??????? )?" target="_blank">Gracecode</a></li>
- <li><a href="http://www.17lamp.net/lamp/python">python ??</a></li>
- <li><a href="http://www.achome.cn/blog/" target="_blank">Satellite Of Love</a></li>
- <li><a href="http://zebinlog.appspot.com/" target="_blank">zebinlog</a></li>
- <li><a href="http://blog.unxmail.com/" target="_blank">????</a></li>
- <li><a href="http://7caishi.blogspot.com/" target="_blank">???</a></li>
- <li><a href="http://blog.chenlb.com/" target="_blank">????Blog</a></li>
- <li><a href="http://www.qianduan.net/" target="_blank">????</a></li>
- <li><a href="http://www.51shanku.com/" rel="me" target="_blank">????</a></li>
- <li><a href="http://www.9kooo.com/" target="_blank">????</a></li>
- <li><a href="http://sou5.yo2.cn/" title="Web 2.0 ?? ?? ?? ??? ??" target="_blank">????</a></li>
- <li><a href="http://www.solongbus.com/" title="??????" target="_blank">??????</a></li>
- <li><a href="http://hutuworm.blogspot.com/" title="??: http://hutuworm.blogspot.com/ ??: Hutuworm Hutuworm ? Blog?”??? Linux ???????”??????????????????????????????????????(???)????????????????????????Hutuworm ?????????" target="_blank">????</a></li>
- <li><a href="http://zz.comsenz.com/" title="????" target="_blank">????</a></li>
- <li><a href="http://jnote.cn/" target="_blank">?????</a></li>
- <li><a href="http://www.son1c.cn/" target="_blank">????</a></li>
- <li><a href="http://www.websbook.com/" title="?????">?????</a></li>
- </ul>
- </li>
- <li id="linkcat-39" class="widget widget_links"><h2>??</h2>
- <ul class="xoxo blogroll">
- <li><a href="http://bitnami.org/" target="_blank">bitnami</a></li>
- <li><a href="http://www.herrodius.com/blog/" title="Christophe Herreman" target="_blank">Christophe Herreman</a></li>
- <li><a href="http://www.conversion-rate-experts.com/blog/" target="_blank">Conversion Rate Optimization Blog</a></li>
- <li><a href="http://googlesystem.blogspot.com/" title="googlesystem" target="_blank">googlesystem</a></li>
- <li><a href="http://www.igvita.com/" target="_blank">igvita</a></li>
- </ul>
- </li>
- <li id="pages-2" class="widget widget_pages"><h2>??</h2> <ul>
- <li class="page_item page-item-488"><a href="http://www.sou5.cn/140">140</a></li>
- <li class="page_item page-item-446"><a href="http://www.sou5.cn/2009">2009</a></li>
- <li class="page_item page-item-166"><a href="http://www.sou5.cn/google">Google</a></li>
- <li class="page_item page-item-5"><a href="http://www.sou5.cn/%e9%93%be%e6%8e%a5">IF</a></li>
- <li class="page_item page-item-285"><a href="http://www.sou5.cn/jquery">JQuery</a></li>
- <li class="page_item page-item-30"><a href="http://www.sou5.cn/me">ME</a></li>
- <li class="page_item page-item-364"><a href="http://www.sou5.cn/django">Python</a></li>
- <li class="page_item page-item-91"><a href="http://www.sou5.cn/%e5%bc%80%e6%ba%90">??</a></li>
- <li class="page_item page-item-102"><a href="http://www.sou5.cn/%e6%a1%86%e6%9e%b6">??</a></li>
- <li class="page_item page-item-98"><a href="http://www.sou5.cn/%e8%af%bb%e4%b9%a6">??</a></li>
- <li class="page_item page-item-79"><a href="http://www.sou5.cn/%e8%b5%84%e6%ba%90%e9%93%be%e6%8e%a5%e6%94%b6%e9%9b%86">??</a></li>
- <li class="page_item page-item-94"><a href="http://www.sou5.cn/%e9%9a%8f%e6%89%8b">??</a></li>
- </ul>
- </li><li id="tag_cloud-2" class="widget widget_tag_cloud"><h2>??</h2><div class="tagcloud"><a href="http://www.sou5.cn/archives/tag/apache" class="tag-link-34" title="4 ???" style="font-size: 12.745762711864pt;">apache</a>
- <a href="http://www.sou5.cn/archives/tag/apache-python" class="tag-link-8" title="1 ???" style="font-size: 8pt;">apache python</a>
- <a href="http://www.sou5.cn/archives/tag/api" class="tag-link-19" title="3 ???" style="font-size: 11.559322033898pt;">api</a>
- <a href="http://www.sou5.cn/archives/tag/app" class="tag-link-13" title="1 ???" style="font-size: 8pt;">App</a>
- <a href="http://www.sou5.cn/archives/tag/cmd" class="tag-link-26" title="1 ???" style="font-size: 8pt;">cmd</a>
- <a href="http://www.sou5.cn/archives/tag/code" class="tag-link-18" title="1 ???" style="font-size: 8pt;">code</a>
- <a href="http://www.sou5.cn/archives/tag/django" class="tag-link-12" title="5 ???" style="font-size: 13.694915254237pt;">Django</a>
- <a href="http://www.sou5.cn/archives/tag/engine" class="tag-link-14" title="1 ???" style="font-size: 8pt;">Engine</a>
- <a href="http://www.sou5.cn/archives/tag/fears" class="tag-link-17" title="1 ???" style="font-size: 8pt;">fears</a>
- <a href="http://www.sou5.cn/archives/tag/flash" class="tag-link-49" title="6 ???" style="font-size: 14.525423728814pt;">flash</a>
- <a href="http://www.sou5.cn/archives/tag/gearman" class="tag-link-153" title="2 ???" style="font-size: 10.135593220339pt;">Gearman</a>
- <a href="http://www.sou5.cn/archives/tag/gearmand" class="tag-link-154" title="2 ???" style="font-size: 10.135593220339pt;">Gearmand</a>
- <a href="http://www.sou5.cn/archives/tag/genshi" class="tag-link-35" title="1 ???" style="font-size: 8pt;">genshi</a>
- <a href="http://www.sou5.cn/archives/tag/google" class="tag-link-7" title="8 ???" style="font-size: 15.71186440678pt;">google</a>
- <a href="http://www.sou5.cn/archives/tag/group" class="tag-link-96" title="2 ???" style="font-size: 10.135593220339pt;">group</a>
- <a href="http://www.sou5.cn/archives/tag/io" class="tag-link-10" title="1 ???" style="font-size: 8pt;">I/O</a>
- <a href="http://www.sou5.cn/archives/tag/images" class="tag-link-38" title="2 ???" style="font-size: 10.135593220339pt;">images</a>
- <a href="http://www.sou5.cn/archives/tag/java" class="tag-link-31" title="2 ???" style="font-size: 10.135593220339pt;">java</a>
- <a href="http://www.sou5.cn/archives/tag/jquery" class="tag-link-52" title="4 ???" style="font-size: 12.745762711864pt;">jquery</a>
- <a href="http://www.sou5.cn/archives/tag/js" class="tag-link-23" title="4 ???" style="font-size: 12.745762711864pt;">js</a>
- <a href="http://www.sou5.cn/archives/tag/jsdoc" class="tag-link-24" title="1 ???" style="font-size: 8pt;">jsdoc</a>
- <a href="http://www.sou5.cn/archives/tag/json" class="tag-link-55" title="2 ???" style="font-size: 10.135593220339pt;">json</a>
- <a href="http://www.sou5.cn/archives/tag/linux" class="tag-link-47" title="2 ???" style="font-size: 10.135593220339pt;">linux</a>
- <a href="http://www.sou5.cn/archives/tag/memcache" class="tag-link-66" title="3 ???" style="font-size: 11.559322033898pt;">memcache</a>
- <a href="http://www.sou5.cn/archives/tag/memory" class="tag-link-40" title="1 ???" style="font-size: 8pt;">memory</a>
- <a href="http://www.sou5.cn/archives/tag/mysql" class="tag-link-33" title="13 ???" style="font-size: 18.084745762712pt;">mysql</a>
- <a href="http://www.sou5.cn/archives/tag/mysqldb" class="tag-link-41" title="2 ???" style="font-size: 10.135593220339pt;">mysqldb</a>
- <a href="http://www.sou5.cn/archives/tag/nginx" class="tag-link-121" title="2 ???" style="font-size: 10.135593220339pt;">Nginx</a>
- <a href="http://www.sou5.cn/archives/tag/order" class="tag-link-97" title="2 ???" style="font-size: 10.135593220339pt;">order</a>
- <a href="http://www.sou5.cn/archives/tag/page" class="tag-link-15" title="1 ???" style="font-size: 8pt;">page</a>
- <a href="http://www.sou5.cn/archives/tag/php" class="tag-link-27" title="23 ???" style="font-size: 20.813559322034pt;">php</a>
- <a href="http://www.sou5.cn/archives/tag/pil" class="tag-link-37" title="3 ???" style="font-size: 11.559322033898pt;">pil</a>
- <a href="http://www.sou5.cn/archives/tag/profiles" class="tag-link-32" title="1 ???" style="font-size: 8pt;">profiles</a>
- <a href="http://www.sou5.cn/archives/tag/python" class="tag-link-11" title="29 ???" style="font-size: 22pt;">Python</a>
- <a href="http://www.sou5.cn/archives/tag/rand" class="tag-link-122" title="2 ???" style="font-size: 10.135593220339pt;">rand</a>
- <a href="http://www.sou5.cn/archives/tag/ruby" class="tag-link-30" title="1 ???" style="font-size: 8pt;">ruby</a>
- <a href="http://www.sou5.cn/archives/tag/smarty" class="tag-link-29" title="1 ???" style="font-size: 8pt;">smarty</a>
- <a href="http://www.sou5.cn/archives/tag/toolkit" class="tag-link-25" title="1 ???" style="font-size: 8pt;">toolkit</a>
- <a href="http://www.sou5.cn/archives/tag/trac" class="tag-link-36" title="1 ???" style="font-size: 8pt;">trac</a>
- <a href="http://www.sou5.cn/archives/tag/utf-8" class="tag-link-43" title="2 ???" style="font-size: 10.135593220339pt;">utf-8</a>
- <a href="http://www.sou5.cn/archives/tag/xml" class="tag-link-56" title="4 ???" style="font-size: 12.745762711864pt;">xml</a>
- <a href="http://www.sou5.cn/archives/tag/yahoo" class="tag-link-22" title="3 ???" style="font-size: 11.559322033898pt;">yahoo</a>
- <a href="http://www.sou5.cn/archives/tag/yui" class="tag-link-21" title="3 ???" style="font-size: 11.559322033898pt;">yui</a>
- <a href="http://www.sou5.cn/archives/tag/zend" class="tag-link-28" title="1 ???" style="font-size: 8pt;">zend</a>
- <a href="http://www.sou5.cn/archives/tag/zh-cn" class="tag-link-20" title="1 ???" style="font-size: 8pt;">zh-CN</a></div>
- </li><li id="calendar-2" class="widget widget_calendar"><h2> </h2><div id="calendar_wrap"><table id="wp-calendar" summary="??">
- <caption>2012???</caption>
- <thead>
- <tr>
- <th abbr="???" scope="col" title="???">?</th>
- <th abbr="???" scope="col" title="???">?</th>
- <th abbr="???" scope="col" title="???">?</th>
- <th abbr="???" scope="col" title="???">?</th>
- <th abbr="???" scope="col" title="???">?</th>
- <th abbr="???" scope="col" title="???">?</th>
- <th abbr="???" scope="col" title="???">?</th>
- </tr>
- </thead>
- <tfoot>
- <tr>
- <td abbr="??" colspan="3" id="prev"><a href="http://www.sou5.cn/archives/date/2012/06" title="?? ?? 2012 ???">« ?</a></td>
- <td class="pad"> </td>
- <td colspan="3" id="next" class="pad"> </td>
- </tr>
- </tfoot>
- <tbody>
- <tr>
- <td colspan="6" class="pad"> </td><td>1</td>
- </tr>
- <tr>
- <td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td>
- </tr>
- <tr>
- <td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td>
- </tr>
- <tr>
- <td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td>
- </tr>
- <tr>
- <td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td id="today"><a href="http://www.sou5.cn/archives/date/2012/07/28" title="Mac ?QQ?????">28</a></td><td>29</td>
- </tr>
- <tr>
- <td>30</td><td>31</td>
- <td class="pad" colspan="5"> </td>
- </tr>
- </tbody>
- </table></div></li> </ul>
- </div>
- </div>
- <div id="footer">
- <div class="w970">
- ©2008-2009 ???? All Rights Reservied<br>
- Powered by <a href="http://wordpress.org/" target="_blank">WordPress</a>. Theme by <a href="http://www.prower.cn/">Prower</a>
- </div>
- </div>
- <div id="go_top"><em></em><a href="http://www.sou5.cn/archives/646.html#">????</a></div>
- <script class="javascript" src="./python ?????(?) - ????_files/shCore.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushCSharp.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushPhp.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushJScript.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushJava.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushVb.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushSql.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushXml.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushDelphi.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushPython.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushRuby.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushCss.js"></script>
- <script class="javascript" src="./python ?????(?) - ????_files/shBrushCpp.js"></script>
- <script class="javascript">
- dp.SyntaxHighlighter.ClipboardSwf = 'http://www.sou5.cn/wp-content/plugins/google-syntax-highlighter/Scripts/clipboard.swf';
- dp.SyntaxHighlighter.HighlightAll('code');
- </script>
- <script type="text/javascript">
- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
- document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
- </script><script src="./python ?????(?) - ????_files/ga.js" type="text/javascript"></script>
- <script type="text/javascript">
- try {
- var pageTracker = _gat._getTracker("UA-6787839-1");
- pageTracker._trackPageview();
- } catch(err) {}</script>
- <script type="text/javascript">document.write(unescape("%3Cscript src='" + (("https:" == document.location.protocol) ? "https" : "http") + "://a.mouseflow.com/projects/8b7ab1b2-3984-426d-a62c-03b546fd58c6.js' type='text/javascript'%3E%3C/script%3E"));</script><script src="./python ?????(?) - ????_files/8b7ab1b2-3984-426d-a62c-03b546fd58c6.js" type="text/javascript"></script>
- <script charset="utf-8"> (function(w, d, g, J) { var e = J.stringify || J.encode; d[g] = d[g] || {}; d[g]['showValidImages'] = d[g]['showValidImages'] || function() { w.postMessage(e({'msg': {'g': g, 'm':'s'}}), location.href); } })(window, document, '__huaban', JSON); </script><div id="stimuli_overlay" style="display: none; "></div><div id="stimuli_lightbox" style="display: none; "><div id="stimuli_outerImageContainer" style="width: 250px; height: 250px; "><div id="stimuli_imageContainer"><img id="stimuli_lightboxImage"><div id="stimuli_hoverNav"><a id="stimuli_prevLink" href="http://www.sou5.cn/archives/646.html#"></a><a id="stimuli_nextLink" href="http://www.sou5.cn/archives/646.html#"></a></div><div id="stimuli_loading"><a id="stimuli_loadingLink" href="http://www.sou5.cn/archives/646.html#"></a></div></div></div><div id="stimuli_imageDataContainer"><div id="stimuli_imageData"><div id="stimuli_imageDetails"><span id="stimuli_caption"></span><span id="stimuli_numberDisplay"></span></div><div id="stimuli_bottomNav"><a id="stimuli_bottomNavClose" href="http://www.sou5.cn/archives/646.html#"></a></div></div></div></div></body></html>