页面资源

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
  <title>CSDN搜索</title> 
  <link href="http://csdnimg.cn/public/common/libs/bootstrap/css/bootstrap.css" rel="stylesheet" /> 
  <link href="http://csdnimg.cn/public/themes/default/css/common.css" rel="stylesheet" /> 
  <!-- 		<link href="http://csdnimg.cn/public/static/css/pagination.css" rel="stylesheet"> --> 
  <link href="http://c.csdnimg.cn/public/common/toolbar/css/index.css" rel="stylesheet" /> 
  <link href="/so/css/bootstrap.min.css" rel="stylesheet" media="screen" /> 
  <link href="/so/css/bootstrap-responsive.css" rel="stylesheet" /> 
  <link href="http://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON" /> 
  <link rel="stylesheet" href="/so/css/introduction.css" media="screen" title="no title" charset="utf-8" /> 
  <link type="text/css" href="/so/css/main.css?1314" rel="stylesheet" /> 
  <script type="text/javascript" src="/so/js/jquery.js"></script> 
  <script type="text/javascript" src="/so/js/bootstrap.min.js"></script> 
  <script src="/so/js/jsonp.js" type="text/javascript"></script> 
  <script src="/so/js/ser_person.js" type="text/javascript"></script> 
  <!--[if lt IE 8]>--> 
  <script src="http://csdnimg.cn/cdn/201502/js/json2.js"></script> 
  <!-- [endif]--> 
  <link href="/so/snippet/search_files/common.css" rel="stylesheet" /> 
  <link href="/so/snippet/search_files/pagination.css" rel="stylesheet" /> 
  <link href="http://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON" /> 
  <link rel="stylesheet" href="/so/snippet/icono.min.css" /> 
  <link rel="stylesheet" href="/so/snippet/codestyle.css" media="screen" title="no title" charset="utf-8" /> 
  <link rel="stylesheet" href="/so/snippet/font-awesome-4.3.0/css/font-awesome.css" media="screen" title="no title" charset="utf-8" /> 
  <link rel="stylesheet" href="/so/snippet/blog_code.css" /> 
  <script language="javascript" type="text/javascript" src="http://ads.csdn.net/js/tracking.js"></script> 
  <!-- 代码段highlighter --> 
  <link type="text/css" rel="stylesheet" href="/so/snippet/syntaxhighlighter_3.0.83/styles/shCore.css" /> 
  <script type="text/javascript" src="/so/snippet/syntaxhighlighter_3.0.83/scripts/shCore.js"></script> 
  <!-- 这里使用 eclipse 外观,styles 目录下还有很多的外观 --> 
  <!--<link type="text/css" rel="stylesheet" href="styles/shThemeEclipse.css"/>--> 
  <link type="text/css" rel="stylesheet" href="/so/snippet/syntaxhighlighter_3.0.83/styles/shCoreDefault.css" /> 
  <!-- 自动识别 code 语言 --> 
  <script type="text/javascript" src="/so/snippet/syntaxhighlighter_3.0.83/scripts/shAutoloader.js"></script> 
  <script type="text/javascript">
		$(function(){
			
			/* add by zw start 20160622 */
		    //识别不同语言的code
		    SyntaxHighlighter.defaults['smart-tabs'] = true;
		    SyntaxHighlighter.defaults['collapse']="collapse";
		    SyntaxHighlighter.config.bloggerMode = true;
		    SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf';
		    SyntaxHighlighter.autoloader(
	           ['as3', 'actionscript3','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushAS3.js'],
	           ['bash','shell','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushBash.js'],
	           ['cf', 'coldfusion','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushColdFusion.js'],
	           ['c-sharp', 'csharp','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushCSharp.js'],
	           ['cpp', 'c','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushCpp.js'],
	           ['css','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushCss.js'],
	           ['delphi', 'pas', 'pascal','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushDelphi.js'],
	           ['diff', 'patch','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushDiff.js'],
	           ['erl', 'erlang','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushErlang.js'],
	           ['groovy','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushGroovy.js'],
	           ['js','jscript','javascript','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushJScript.js'],
	           ['java','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushJava.js'],
	           ['jfx', 'javafx','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushJavaFX.js'],
	           ['perl', 'pl','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushPerl.js'],
	           ['php','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushPhp.js'],
	           ['plain', 'text','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushPlain.js'],
	           ['ps', 'powershell','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushPowerShell.js'],
	           ['py', 'python','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushPython.js'],
	           ['rails', 'ror', 'ruby','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushRuby.js'],
	           ['scala','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushScala.js'],
	           ['sql','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushSql.js'],
	           ['vb', 'vbnet','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushVb.js'],
	           ['xml', 'xhtml', 'xslt', 'html', 'xhtml','/so/snippet/syntaxhighlighter_3.0.83/scripts/shBrushXml.js']
		    );
		    SyntaxHighlighter.all();
		    /* add by zw end 20160622 */
		    
			var $href = $( '.rel-search' );
			$href.each( function ( i, item ) {
				var href = item.getAttribute( 'href', 2 );
				var reg = /q=(.*?)&/g;
				item.href = href.replace( reg, function ( all, sub ) {
					return 'q=' + encodeURIComponent( sub ) +"&";
				});
			});
			//console.log( href );
		});
	</script> 
  <script type="text/javascript" src="/so/snippet/saveToCode.js" charset="utf-8"></script> 
  <script type="text/javascript">
	var loginname = getCookie('UserName');
    var currentUserName = loginname;
    function getCookie(objName)
    {
        var arrStr = document.cookie.split("; ");
        for(var i = 0;i < arrStr.length;i ++)
        {
            var temp = arrStr[i].split("=");
            if(temp[0] == objName)
            {
                return decodeURI(temp[1]);
            }
        }
    }
    </script> 
  <style type="text/css">
        /** 改一下字号大小,否则格式化后的代码会很大 */
        .syntaxhighlighter {
            margin: 0 0 1em 0 !important;
        }
        .syntaxhighlighter div {
            font-size:12px !important;
            line-height: 1.5em !important;
        }
        .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .syntaxhighlighter table, .syntaxhighlighter table td, .syntaxhighlighter table tr, .syntaxhighlighter table tbody, .syntaxhighlighter table thead, .syntaxhighlighter table caption, .syntaxhighlighter textarea{
            line-height: 1.5em !important;
        }
        .showinfor {
            font-size: 14px;
            clear:both;
            padding:10px 0;
        }
        .showinfor span{
            color:#666666;
        }
        .showinfor span em{
           color:#be1a21;
           display:inline-block;
           margin-left:5px;
           font-style:normal;
        }
        .showinfor a{
            color: #267AA8;
            display: inline-block;
            margin-left: 5px;
        }
    </style> 
  <script src="/so/snippet/clipboard.min.js" charset="utf-8"></script> 
  <script src="/so/snippet/test.js" charset="utf-8"></script> 
  <script type="text/javascript">
			function GetQueryString(name) {
			   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
			   var r = window.location.search.substr(1).match(reg);
			   if (r!=null) return unescape(r[2]); return null;
			}
			//var show_course = false;
			
			$(document).ready(function(){
				
			    $("ul.search-type li").click(function(){
			    	var ili = $(".search-type")[0].children.length;
					for (var i = 0; i < ili; i++) {
						$(".search-type")[0].children[i].style.color="#000000";
					}
					
			    	if (this.innerHTML == "极客头条") {
			    		
			    		leavecode();
			    		$("#tt")[0].value = "news";
			    		$("#tb")[0].value = "news";
			    		
			    		$(".search-type")[0].children[5].style.color="#990000";
			    		
			    		$("#ot")[0].value = $("input[name='o1']:checked").val();
			    		$("#ob")[0].value = $("input[name='o1']:checked").val();
			    		$("#st")[0].value = "";
			    		$("#sb")[0].value = "";
			    		
			    		$("#o_news")[0].style.display="inline";
			    		$("#o_disscus_code")[0].style.display="none";
			    		$("#o_doc")[0].style.display="none";
// 			    		$("#o_ask")[0].style.display="none";
 			    		$("input[name='o1']").each(function() {
 				    		if($(this).val() == "null")
 				    		{
 				    			$(this).attr("checked",true);
 				    		}});
// 			    		$("input[name='o1'][value='time'").attr("checked",true);
						$("#codeSelector")[0].style.display="none";
						$("#codeSelector2")[0].style.display="none";
// 						$(".solve_pupup")[0].style.display="none";
						
			    	} else if (this.innerHTML == "博文") {
			    		leavecode();
			    		$("#tt")[0].value = "blog";
			    		$("#tb")[0].value = "blog";
			    		
			    		$(".search-type")[0].children[2].style.color="#990000";
			    		
			    		$("#ot")[0].value = "";
			    		$("#ob")[0].value = "";
			    		$("#st")[0].value = "";
			    		$("#sb")[0].value = "";
			    		
			    		$("#o_news")[0].style.display="none";
			    		$("#o_disscus_code")[0].style.display="none";
			    		$("#o_doc")[0].style.display="none";
// 			    		$("#o_ask")[0].style.display="none";
			    		$("#codeSelector")[0].style.display="none";
			    		$("#codeSelector2")[0].style.display="none";
// 			    		$(".solve_pupup")[0].style.display="none";
			    	} else if (this.innerHTML == "课程") {
			    		leavecode();
			    		$("#tt")[0].value = "course";
			    		$("#tb")[0].value = "course";
			    		
			    		$(".search-type")[0].children[6].style.color="#990000";
			    		
			    		$("#ot")[0].value = "";
			    		$("#ob")[0].value = "";
			    		$("#st")[0].value = "";
			    		$("#sb")[0].value = "";
			    		
			    		$("#o_news")[0].style.display="none";
			    		$("#o_disscus_code")[0].style.display="none";
			    		$("#o_doc")[0].style.display="none";
// 			    		$("#o_ask")[0].style.display="none";
			    		$("#codeSelector")[0].style.display="none";
			    		$("#codeSelector2")[0].style.display="none";
// 			    		$(".solve_pupup")[0].style.display="none";
			    	} else if (this.innerHTML == "讨论") {
			    		leavecode();
			    		$("#tt")[0].value = "discuss";
			    		$("#tb")[0].value = "discuss";
			    		
			    		$(".search-type")[0].children[3].style.color="#990000";
			    		
			    		$("#ot")[0].value = $("input[name='o1']:checked").val();
			    		$("#ob")[0].value = $("input[name='o1']:checked").val();
			    		$("#st")[0].value = "";
			    		$("#sb")[0].value = "";
			    		
			    		$("#o_news")[0].style.display="none";
			    		$("#o_disscus_code")[0].style.display="inline";
			    		$("#o_doc")[0].style.display="none";
// 			    		$("#o_ask")[0].style.display="none";
			    		$("#codeSelector")[0].style.display="none";
			    		$("#codeSelector2")[0].style.display="none";
// 			    		$(".solve_pupup")[0].style.display="none";
// 			    	} else if (this.innerHTML == "代码项目") {
// 			    		leavecode();
// 			    		$("#tt")[0].value = "code";
// 			    		$("#tb")[0].value = "code";
			    		
// 			    		$(".search-type")[0].children[4].style.color="#990000";
			    		
// // 			    		$("#ot")[0].value = $("input[name='o1']:checked").val();
// // 			    		$("#ob")[0].value = $("input[name='o1']:checked").val();
// 			    		$("#ot")[0].value = "";
// 			    		$("#ob")[0].value = "";
			    		
// 			    		$("#st")[0].value = "";
// 			    		$("#sb")[0].value = "";
			    		
// 			    		$("#o_news")[0].style.display="none";
// 			    		$("#o_disscus_code")[0].style.display="inline";
// 			    		$("#o_doc")[0].style.display="none";
// // 			    		$("#o_ask")[0].style.display="none";
// 			    		$("#codeSelector")[0].style.display="none";
// 			    		$("#codeSelector2")[0].style.display="none";
// // 			    		$(".solve_pupup")[0].style.display="none";
// 			    	} else if (this.innerHTML == "文档") {
			    	} else if (this.innerHTML == "下载资源") {
			    		leavecode();
			    		$("#tt")[0].value = "doc";
			    		$("#tb")[0].value = "doc";
			    		
			    		$(".search-type")[0].children[4].style.color="#990000";
			    		
			    		$("#ot")[0].value = "";
			    		$("#ob")[0].value = "";
			    		$("#st")[0].value = $("input[name='o3']:checked").val();
			    		$("#sb")[0].value = $("input[name='o3']:checked").val();
			    		
			    		$("#o_news")[0].style.display="none";
			    		$("#o_disscus_code")[0].style.display="none";
// 			    		$("#o_doc")[0].style.display="inline";
			    		$("#o_doc")[0].style.display="none";
// 			    		$("#o_ask")[0].style.display="none";
			    		$("#codeSelector")[0].style.display="none";
			    		$("#codeSelector2")[0].style.display="none";
// 			    		$(".solve_pupup")[0].style.display="none";
			    	} else if (this.innerHTML == "代码片") {
			    		codeonready();
			    		$("#tt")[0].value = "codes_snippet";
			    		$("#tb")[0].value = "codes_snippet";
			    		
			    		$(".search-type")[0].children[1].style.color="#990000";
			    		
			    		$("#ot")[0].value = "";
			    		$("#ob")[0].value = "";
			    		$("#st")[0].value = "";
			    		$("#sb")[0].value = "";
			    		
			    		$("#o_news")[0].style.display="none";
			    		$("#o_disscus_code")[0].style.display="none";
			    		$("#o_doc")[0].style.display="none";
			    		$("#codeSelector")[0].style.display="inline";
			    		$("#codeSelector2")[0].style.display="inline";
// 			    		$(".solve_pupup")[0].style.display="inline";
// 			    	} else if (this.innerHTML == "问答") {
// 			    		$("#tt")[0].value = "ask_topic";
// 			    		$("#tb")[0].value = "ask_topic";
			    		
// 			    		$(".search-type")[0].children[6].style.color="#990000";
			    		
// 			    		$("#ot")[0].value = "";
// 			    		$("#ob")[0].value = "";
// 			    		$("#st")[0].value = $("input[name='o4']:checked").val();
// 			    		$("#sb")[0].value = $("input[name='o4']:checked").val();
			    		
// 			    		$("#o_news")[0].style.display="none";
// 			    		$("#o_disscus_code")[0].style.display="none";
// 			    		$("#o_doc")[0].style.display="none";
// // 			    		$("#o_ask")[0].style.display="inline";
			    		
			    	} else {
			    		leavecode();
			    		$("#tt")[0].value = "";
			    		$("#tb")[0].value = "";
			    		
			    		$(".search-type")[0].children[0].style.color="#990000";
			    		
			    		$("#ot")[0].value = "";
			    		$("#ob")[0].value = "";
			    		$("#st")[0].value = "";
			    		$("#sb")[0].value = "";
			    		
			    		$("#o_news")[0].style.display="none";
			    		$("#o_disscus_code")[0].style.display="none";
			    		$("#o_doc")[0].style.display="none";
// 			    		$("#o_ask")[0].style.display="none";
			    		$("#codeSelector")[0].style.display="none";
			    		$("#codeSelector2")[0].style.display="none";
// 			    		$(".solve_pupup")[0].style.display="none";
			    	}
			    	document.search_form_1.submit();
			    });
			});
			function changeOrder(value) {
				$("#ot")[0].value = value;
	    		$("#ob")[0].value = value;
	    		
	    		document.search_form_1.submit();
			}
			function changeDocOrder(value) {
				$("#st")[0].value = value;
	    		$("#sb")[0].value = value;
	    		
	    		document.search_form_1.submit();
			}
			function changeLan(type) {
				var value = "";
				if ("1" == type)
					value = $("#dropdownMenu").val();
				else
					value = $("#dropdownMenu2").val();
				$("#lant")[0].value = value;
	    		$("#lanb")[0].value = value;
	    		
	    		document.search_form_1.submit();
			}
// 			function changeAskOrder(value) {
// 				$("#st")[0].value = value;
// 	    		$("#sb")[0].value = value;
	    		
// 	    		document.search_form_1.submit();
// 			}
			
			
		</script> 
  <script language="JavaScript" type="text/JavaScript">
		$(document).ready(function(){
			
				var ili = $(".search-type")[0].children.length;
				/* for (var i = 0; i < ili; i++) {
					$(".search-type")[0].children[i].style.color="#000000";
				} */
				var t = GetQueryString("t");
				
				if (t == "news") {
					leavecode();
					$(".search-type")[0].children[5].style.color="#990000";
					
		    		$("#o_news")[0].style.display="inline";
		    		$("#o_disscus_code")[0].style.display="none";
		    		$("#o_doc")[0].style.display="none";
// 		    		$("#o_ask")[0].style.display="none";

			    	$("input[name='o1']").each(function() {
			    		if($(this).val() == "null")
			    		{
			    			$(this).attr("checked",true);
			    		}});
			    	$("#codeSelector")[0].style.display="none";
			    	$("#codeSelector2")[0].style.display="none";
// 			    	$(".solve_pupup")[0].style.display="none";
				} else if (t == "blog") {
					leavecode();
					$(".search-type")[0].children[2].style.color="#990000";
					
		    		$("#o_news")[0].style.display="none";
		    		$("#o_disscus_code")[0].style.display="none";
		    		$("#o_doc")[0].style.display="none";
// 		    		$("#o_ask")[0].style.display="none";
		    		$("#codeSelector")[0].style.display="none";
		    		$("#codeSelector2")[0].style.display="none";
// 		    		$(".solve_pupup")[0].style.display="none";
				} else if (t == "course") {
					leavecode();
					$(".search-type")[0].children[6].style.color="#990000";
					
		    		$("#o_news")[0].style.display="none";
		    		$("#o_disscus_code")[0].style.display="none";
		    		$("#o_doc")[0].style.display="none";
// 		    		$("#o_ask")[0].style.display="none";
		    		$("#codeSelector")[0].style.display="none";
		    		$("#codeSelector2")[0].style.display="none";
// 		    		$(".solve_pupup")[0].style.display="none";
				} else if (t == "discuss") {
					leavecode();
					$(".search-type")[0].children[3].style.color="#990000";
					
					$("#o_news")[0].style.display="none";
		    		$("#o_disscus_code")[0].style.display="inline";
		    		$("#o_doc")[0].style.display="none";
// 		    		$("#o_ask")[0].style.display="none";

		    		$("input[name='o2']").each(function() {
			    		if($(this).val() == "null")
			    		{
			    			$(this).attr("checked",true)
			    		}});
		    		$("#codeSelector")[0].style.display="none";
		    		$("#codeSelector2")[0].style.display="none";
// 		    		$(".solve_pupup")[0].style.display="none";
				} else if (t == "code") {
					leavecode();
					$(".search-type")[0].children[4].style.color="#990000";
					
					$("#o_news")[0].style.display="none";
		    		$("#o_disscus_code")[0].style.display="none";
		    		$("#o_doc")[0].style.display="none";
// 		    		$("#o_ask")[0].style.display="none";

		    		$("input[name='o2']").each(function() {
			    		if($(this).val() == "null")
			    		{
			    			$(this).attr("checked",true)
			    		}});
		    		$("#codeSelector")[0].style.display="none";
		    		$("#codeSelector2")[0].style.display="none";
// 		    		$(".solve_pupup")[0].style.display="none";
				} else if (t == "doc") {
					leavecode();
					$(".search-type")[0].children[4].style.color="#990000";
					
					$("#o_news")[0].style.display="none";
		    		$("#o_disscus_code")[0].style.display="none";
		    		$("#o_doc")[0].style.display="none";
// 		    		$("#o_doc")[0].style.display="inline";
// 		    		$("#o_ask")[0].style.display="none";

		    		$("input[name='o3']").each(function() {
			    		if($(this).val() == "null")
			    		{
			    			$(this).attr("checked",true)
			    		}});
		    		$("#codeSelector")[0].style.display="none";
		    		$("#codeSelector2")[0].style.display="none";
// 		    		$(".solve_pupup")[0].style.display="none";
				} else if (t == "codes_snippet") {
					codeonready();
		    		$(".search-type")[0].children[1].style.color="#990000";
		    		
		    		$("#o_news")[0].style.display="none";
		    		$("#o_disscus_code")[0].style.display="none";
		    		$("#o_doc")[0].style.display="none";
		    		$("#codeSelector")[0].style.display="inline";
		    		$("#codeSelector2")[0].style.display="inline";
// 		    		$(".solve_pupup")[0].style.display="inline";
// 				} else if (t == "ask_topic") {
// 					$(".search-type")[0].children[6].style.color="#990000";
					
// 					$("#o_news")[0].style.display="none";
// 		    		$("#o_disscus_code")[0].style.display="none";
// 		    		$("#o_doc")[0].style.display="none";
// 		    		$("#o_ask")[0].style.display="inline";
// 		    		$("input[name='o3']").each(function() {

// 			    		{
// 			    			$(this).attr("checked",true)
// 			    		}});
				} else {
					leavecode();
					$(".search-type")[0].children[0].style.color="#990000";
					
					$("#o_news")[0].style.display="none";
		    		$("#o_disscus_code")[0].style.display="none";
		    		$("#o_doc")[0].style.display="none";
		    		$("#codeSelector")[0].style.display="none";
		    		$("#codeSelector2")[0].style.display="none";
// 		    		$(".solve_pupup")[0].style.display="none";
		    		//$("#o_ask")[0].style.display="none";
				}
				
// 				function soso( val ) {

// 		    		document.search_form_1.submit();
// 				}
				
// 				$( '.search-btn2' ).bind( 'click', function () {
// 					var $this = $( this );
// 					var $form = $this.parents( '.search-from2' ).find( 'form' );
// 					var val = $form.serialize();
					
// 					console.log( val );
// 					//soso( val );
// 				} );
				
// 				$( '.search-text2' ).bind( 'keydown', function ( et ) {
// 					var evt = et || window.event;
					
// 					if ( evt.keyCode == 13 )
// 					{
// 						var $this = $( this );
// 						var $form = $this.parents( '.search-from2' ).find( 'form' );
// 						var val = $form.serialize();
// 						console.log( val );
// 						//soso( val );
// 					}
// 				} );				
			});
// 			windows.onload = onload_handler;
		</script> 
  <script type="text/javascript">
		domReady(function(){

		    var oT = getByClass(document,'search-text2')[0];
		    var oT2 = getByClass(document,'search-text2')[1];    
		    var oFormcon = getByClass(document,'search-from2');
		    var oForm1 = oFormcon[0].children[0];
		    var oForm2 = oFormcon[1].children[0];

		    var pos1 = getPos(oForm1).top;
		    var pos2 = getPos(oForm2).top;    

		    var oUl = document.getElementById('search-suggest2');
		    var oUl2 = document.getElementById('search-suggest3');
// 		    oUl.style.top = pos1 + 32 + 'px';
// 		    oUl2.style.top = pos2 + 32 + 'px';
		    
		    var url=document.domain;
		    if (window.location.port != 80) {
		    	url += ":" +window.location.port;
		    }
		    var URL = window.location.protocol +'//'+url+'/so/search/so/autocomplete.do';
		    var aLi=oUl.children;
		    var aLi2=oUl2.children;

		    window.iNow=-1;
		    window.iNow2=-1;
		    oT.focus();    
		    var oldValue='';
		    var oldValue2='';

		    oT.οnkeyup=function(ev)
		    {
		        var oEvent=ev || event;
		        if(oEvent.keyCode==40 || oEvent.keyCode==38){
		            return; 
		        }

		        if(oEvent.keyCode==13){
		             this.parentNode.parentNode.submit();  
		        }            
		       
		        jsonp(URL, {q: oT.value}, function (json){            
		            
		            if(json.suggestions.length==0)
		            {
		                oUl.style.display='none';
		            }
		            else
		            {
		                oUl.style.display='block';
		                var data = eval('('+json.suggestions+')');  
		            }
		            oUl.innerHTML='';
		            for(var i=0; i<data.length; i++)
		            {
		                var oLi=document.createElement('li');
		                oLi.innerHTML=data[i].key;
		                oUl.appendChild(oLi);
		            }

		            for(var i=0; i<aLi.length; i++){
		            aLi[i].index=i;
		            aLi[i].οnmοuseοver=function(){
		            for(var i=0; i<aLi.length; i++){
		                aLi[i].style.background='';
		            }
		            this.style.background='#ccc';            
		            
		            iNow=this.index;
		           
		            }
		            
		            aLi[i].οnclick=function()
		            {
		            	 oT.value=aLi[this.index].innerHTML;
		            }
		            
		            }

		        }, 'callback'); 

		                
		        oldValue=oT.value;
		    }

		    oT.οnkeydοwn=function(ev){

		        var oEvent=ev || event;
		        if(oEvent.keyCode==40){
		            iNow++;
		            
		            if(iNow==aLi.length){
		                iNow=-1;    
		            }
		            
		            for(var i=0; i<aLi.length; i++){
		                aLi[i].style.background='';
		            }
		            if(iNow!=-1){
		                aLi[iNow].style.background='#ccc';
		                oT.value=aLi[iNow].innerHTML;
		            }else{
		                oT.value=oldValue;  
		            }           
		        }
		        
		        if(oEvent.keyCode==38){
		            iNow--;            
		            if(iNow==-2){
		                iNow=aLi.length-1;  
		            }
		            
		            for(var i=0; i<aLi.length; i++){
		                aLi[i].style.background='';
		            }
		            if(iNow!=-1){
		                aLi[iNow].style.background='#ccc';
		                oT.value=aLi[iNow].innerHTML;   
		            }else{
		                oT.value=oldValue;  
		            }
		            return false;   
		        }   
		    }


		    oT2.οnkeyup=function(ev)
		    {
		        var oEvent=ev || event;
		        if(oEvent.keyCode==40 || oEvent.keyCode==38){
		            return; 
		        }

		        if(oEvent.keyCode==13){
		             this.parentNode.parentNode.submit();  
		        }            
		       
		        jsonp(URL, {q: oT2.value}, function (json){            
		            
		            if(json.suggestions.length==0)
		            {
		                oUl2.style.display='none';
		            }
		            else
		            {
		                oUl2.style.display='block';
		                var data2 = eval('('+json.suggestions+')');  
		            }
		            oUl2.innerHTML='';
		            for(var i=0; i<data2.length; i++)
		            {
		                var oLi2=document.createElement('li');
		                oLi2.innerHTML=data2[i].key;
		                oUl2.appendChild(oLi2);
		            }

		            for(var i=0; i<aLi.length; i++){
		            aLi2[i].index=i;
		            aLi2[i].οnmοuseοver=function(){
		            for(var i=0; i<aLi2.length; i++){
		                aLi2[i].style.background='';
		            }
		            this.style.background='#ccc';
		            iNow2=this.index;
		            
		            }
		            
		            aLi2[i].οnclick=function()
		            {
		            	oT2.value=aLi2[this.index].innerHTML;
		            }
		            
		            }

		        }, 'callback'); 

		                
		        oldValue2=oT2.value;
		    }

		    oT2.οnkeydοwn=function(ev){

		        var oEvent=ev || event;
		        if(oEvent.keyCode==40){
		            iNow2++;
		            
		            if(iNow2==aLi2.length){
		                iNow2=-1;    
		            }
		            
		            for(var i=0; i<aLi2.length; i++){
		                aLi2[i].style.background='';
		            }
		            if(iNow2!=-1){
		                aLi2[iNow2].style.background='#ccc';
		                oT2.value=aLi2[iNow2].innerHTML;
		            }else{
		                oT2.value=oldValue2;  
		            }           
		        }
		        
		        if(oEvent.keyCode==38){
		            iNow2--;            
		            if(iNow2==-2){
		                iNow2=aLi2.length-1;  
		            }
		            
		            for(var i=0; i<aLi2.length; i++){
		                aLi2[i].style.background='';
		            }
		            if(iNow2!=-1){
		                aLi2[iNow2].style.background='#ccc';
		                oT2.value=aLi2[iNow2].innerHTML;   
		            }else{
		                oT2.value=oldValue2;  
		            }
		            return false;   
		        }   
		    }
		    oT.οnclick=function(ev){
				var oEvent=ev || event;		
				oEvent.cancelBubble=true;
			}
		    
		    oT2.οnclick=function(ev){
				var oEvent=ev || event;		
				oEvent.cancelBubble=true;
			}
		    
		    document.onclick = function()
		    {
		        oUl.style.display='none';
		        oUl2.style.display='none';
		    }
		
		    
// 		    var oSourcon = document.getElementById('source-list');
// 			var oSource = oSourcon.children[1];
// 			var sourceURL = 'http://192.168.5.91:8080/so/search/so/getQualityArticle.do';	
// 			var keyword = GetRequest().q;
// 			jsonp(sourceURL, {q: keyword}, function (json){
		            
// 					var data = eval('('+json.suggestions+')');
		            
// 					if(data.length==0)
// 		            {
// 		                oSourcon.style.display='none';
// 		            }
// 		            else
// 		            {
// 		               oSourcon.style.display='block';
// 		                var data = eval('('+json.suggestions+')');				
// 		            }
					
// 					for(var i=0; i<6; i++)
// 		            {
// 		                var oDl=document.createElement('dl');
// 						var oDt=document.createElement('dt');
// 						var oDd=document.createElement('dd');
// 						var oImg=document.createElement('img');
// 						var oA=document.createElement('a');
// 						var oA2=document.createElement('a');
						
// 						oImg.src = data[i].pic;
// 						oImg.width = 73;
// 						oImg.height = 70;
// 						oA.href = data[i].url;
// 						oA.title = data[i].title;
						
// 						oA2.href = data[i].url;
// 						oA2.title = data[i].title;
// 						oA2.innerHTML = data[i].title;
						
// 						oA.appendChild(oImg);
// 						oDt.appendChild(oA);
// 						oDd.appendChild(oA2);
// 						oDl.appendChild(oDt);
// 						oDl.appendChild(oDd);
// 						oSource.appendChild(oDl);
// 		            }	
					
// 			}, 'callback');
		});
		
// 		点击“代码片”进入代码片搜索时调用
		function codeonready(){
		    $(".search-text-con2").css("width","613px");
		    $(".search-text2").css("width","603px");
		    $("#codeSelector").show();
		}
// 		离开“代码片”点击其他时调用
		function leavecode(){
		    $(".search-text-con2").css("width","718px");
		    $(".search-text2").css("width","708px");
		    $("#codeSelector").hide();
		}
		
		$(".search-type").find('li').hover(function(){
			$(this).css("color","rgb(153, 0, 0);");
		},function(){
			$(this).css("color","rgb(153, 0, 0);");
		})
		</script> 
 </head> 
 <body> 
  <script id="toolbar-tpl-scriptId" prod="so" skin="black" src="http://c.csdnimg.cn/public/common/toolbar/js/html.js" domain="http://so.csdn.net/so/" type="text/javascript"></script> 
  <div class="topadv"> 
   <!-- 广告位开始 --> 
   <ins data-revive-zoneid="154" data-revive-id="8c38e720de1c90a6f6ff52f3f89c4d57"></ins> 
   <!-- 广告位结束 --> 
  </div> 
  <div class="main-container"> 
   <div class="con-l"> 
    <ul class="search-type"> 
     <li>全部</li> 
     <li>代码片</li> 
     <li>博文</li> 
     <li>讨论</li> 
     <li>下载资源</li> 
     <li>极客头条</li> 
     <li>课程</li> 
     <!-- 		        <li>代码项目</li>     --> 
     <!-- 		        <li>文档</li> --> 
     <!-- 		        <li>问答</li> --> 
    </ul> 
    <div class="search-from2" style="position:relative"> 
     <form id="search_form_1" name="search_form_1"> 
      <div class="search-text-con2" style="position:relative"> 
       <input type="text" path="q" class="search-text2" id="q1" name="q" value="爬虫" autocomplete="off" /> 
       <input type="hidden" id="tt" name="t" value="blog" /> 
       <input type="hidden" id="ot" name="o" value="null" /> 
       <input type="hidden" id="st" name="s" value="null" /> 
       <input type="hidden" id="lant" name="l" value="null" /> 
       <ul class="search-suggest2" id="search-suggest2" style="top: 32px"></ul> 
      </div> 
      <div id="codeSelector" style="display:none;"> 
       <select id="dropdownMenu" οnchange="changeLan('1');"> <option value="all" selected="selected">全部语言</option> <option value="java">Java</option> <option value="cpp">c++</option> <option value="html">html</option> <option value="php">php</option> <option value="javascript">javascript</option> <option value="css">css</option> <option value="objc">object-c</option> <option value="csharp">c#</option> <option value="python">python</option> <option value="ruby">ruby</option> <option value="vb">vb</option> <option value="delphi">delphi</option> <option value="sql">sql</option> </select> 
      </div> 
      <div class="search-btn-con2"> 
       <input type="Submit" value="搜一搜" class="search-btn2" /> 
      </div> 
     </form> 
     <div class="search-addition-con"> 
      <div id="o_news" style="display:none" class="search-addition"> 
       <em><input type="radio" name="o1" value="simi" οnchange="changeOrder(this.value);" οnclick="this.blur();" checked="" /></em>
       <span>按相关度排序</span> 
       <em><input type="radio" name="o1" value="time" οnchange="changeOrder(this.value);" οnclick="this.blur();" /></em>
       <span>按时间排序 </span> 
      </div> 
      <div id="o_disscus_code" style="display:none" class="search-addition"> 
       <em><input type="radio" name="o2" value="simi" οnchange="changeOrder(this.value);" οnclick="this.blur();" checked="" /></em>
       <span>按相关度排序 </span> 
       <em><input type="radio" name="o2" value="reply" οnchange="changeOrder(this.value);" οnclick="this.blur();" /></em>
       <span>按回复数排序</span> 
      </div> 
      <div id="o_doc" style="display:none" class="search-addition"> 
       <em><input type="radio" name="o3" value="all" οnchange="changeDocOrder(this.value);" οnclick="this.blur();" checked="" /></em>
       <span>全部</span> 
       <em><input type="radio" name="o3" value="1" οnchange="changeDocOrder(this.value);" οnclick="this.blur();" /></em>
       <span>文档</span> 
       <em><input type="radio" name="o3" value="2" οnchange="changeDocOrder(this.value);" οnclick="this.blur();" /></em>
       <span>代码类</span> 
       <em><input type="radio" name="o3" value="3" οnchange="changeDocOrder(this.value);" οnclick="this.blur();" /></em>
       <span>工具类</span> 
      </div> 
      <!-- 			    	<div id="o_doc" style="display:none" class="search-addition"> --> 
      <!-- 			    		<em><input type="radio" name="o3" value="all" οnchange="changeDocOrder(this.value);" onClick="this.blur();"  checked></em><span>全部</span> --> 
      <!-- 	 	             	<em><input type="radio" name="o3" value="doc" οnchange="changeDocOrder(this.value);" onClick="this.blur();" ></em><span>DOC</span> --> 
      <!-- 	 	             	<em><input type="radio" name="o3" value="ppt" οnchange="changeDocOrder(this.value);" onClick="this.blur();" ></em><span>PPT</span> --> 
      <!-- 	 	             	<em><input type="radio" name="o3" value="txt" οnchange="changeDocOrder(this.value);" onClick="this.blur();" ></em><span>TXT</span> --> 
      <!-- 	 	             	<em><input type="radio" name="o3" value="pdf" οnchange="changeDocOrder(this.value);" onClick="this.blur();" ></em><span>PDF</span> --> 
      <!-- 			    	</div> --> 
      <!-- 			    	<div id="o_ask" style="display:none" class="search-addition"> --> 
      <!-- 			    		<em><input type="radio" name="o4" value="1" οnchange="changeAskOrder(this.value);" onClick="this.blur();"  checked></em><span>已解答</span> --> 
      <!-- 	 	             	<em><input type="radio" name="o4" value="0" οnchange="changeAskOrder(this.value);" onClick="this.blur();" ></em><span>未解答</span> --> 
      <!-- 			    	</div> --> 
     </div> 
    </div> 
    <p class="showinfor" id="showfault" style="display:none"><span>您是不是要找:</span> <a href="?p=1&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null&f=false" id="research">爬虫</a><span>?</span></p> 
    <div class="search-list-con"> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/Bone_ACE/article/details/50195839?locationNum=1&fps=1" target="_blank">我的<em>爬虫</em>史</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/Bone_ACE" target="_blank">Bone_ACE</a>   日期:2015-12-07 16:31:06   浏览 1215 次
      </dd> 
      <dd class="search-detail">
       前言:曾经模仿别人的代码写过几个小
       <em>爬虫</em>,不过都是皮毛而已,下载一些图片,很简单的
       <em>爬虫</em>。 现在想系统的学习一下python网络
       <em>爬虫</em>,包括
       <em>爬虫</em>多线程、登陆、验证码、分布式、优化等方面。学习的方式是直接爬,一点点深入,遇到问题逐个解决。希望利用博客记录一下自己学习
       <em>爬虫</em>的过程,放出源代码,希望对后面学习的朋友提供个参考,同时希望通过大家的指正进行查缺补漏。
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/Bone_ACE/article/details/50195839" target="_blank">http://blog.csdn.net/Bone_ACE/article/details/50195839</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/han____shuai/article/details/50639256?locationNum=2&fps=1" target="_blank"><em>爬虫</em>基本知识</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/han____shuai" target="_blank">han____shuai</a>   日期:2016-02-05 22:36:39   浏览 383 次
      </dd> 
      <dd class="search-detail">
       网络
       <em>爬虫</em>  编辑 
       <em> </em>网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 
       <em> </em> 中文名 网络爬虫 外文名 Computer Robot 别    称 网络蜘蛛 目    的 获取万维网信息 
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/han____shuai/article/details/50639256" target="_blank">http://blog.csdn.net/han____shuai/article/details/50639256</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/xiaomin1991222/article/details/50981553?locationNum=3&fps=1" target="_blank"><em>爬虫</em>工程师</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/xiaomin1991222" target="_blank">xiaomin1991222</a>   日期:2016-03-10 16:05:00   浏览 388 次
      </dd> 
      <dd class="search-detail">
       1. 谈
       <em>爬虫</em>工程师的价值     大数据时代已到,数据越来越具有价值了,没有数据寸步难行,有了数据好好利用,可以在诸多领域干很多事,比如很火的互联网金融。从互联网上爬来自己想要的数据,是数据的一个重要来源,而且往往是必不可少的来源。所有,目前,
       <em>爬虫</em>工程师是一个非常吃香的职位,工资往往都不低,就是要耐得住寂寞了。那
       <em>爬虫</em>工程师的价值也就是能稳定的、高效的和实时
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/xiaomin1991222/article/details/50981553" target="_blank">http://blog.csdn.net/xiaomin1991222/article/details/50981553</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/zzk1995/article/details/51786558?locationNum=4&fps=1" target="_blank">scrapy-redis分布式<em>爬虫</em>原理分析</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/zzk1995" target="_blank">zzk1995</a>   日期:2016-06-29 23:01:24   浏览 4875 次
      </dd> 
      <dd class="search-detail">
       scrapy是python的一个非常好用的
       <em>爬虫</em>库,功能非常强大,但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求的并发数),这时候分布式
       <em>爬虫</em>的优势就显现出来,人多力量大。而scrapy-redis就是结合了分布式数据库redis,重写了scrapy一些比较关键的代码,将scrapy变成一个可以在多个
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/zzk1995/article/details/51786558" target="_blank">http://blog.csdn.net/zzk1995/article/details/51786558</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/Bone_ACE/article/details/50989104?locationNum=5&fps=1" target="_blank">基于Redis的三种分布式<em>爬虫</em>策略</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/Bone_ACE" target="_blank">Bone_ACE</a>   日期:2016-03-27 17:27:31   浏览 3187 次
      </dd> 
      <dd class="search-detail">
       前言:
       <em>爬虫</em>是偏IO型的任务,分布式
       <em>爬虫</em>的实现难度比分布式计算和分布式存储简单得多。 个人以为分布式
       <em>爬虫</em>需要考虑的点主要有以下几个: 
       <em>爬虫</em>任务的统一调度 
       <em>爬虫</em>任务的统一去重 存储问题 速度问题 足够“健壮”的情况下实现起来越简单/方便越好 最好支持“断点续爬”功能 Python分布式
       <em>爬虫</em>比较常用的应该是scrapy框架加上Redis内存数据库,中间的调度
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/Bone_ACE/article/details/50989104" target="_blank">http://blog.csdn.net/Bone_ACE/article/details/50989104</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/wgyscsf/article/details/53454910?locationNum=6&fps=1" target="_blank">CSDN<em>爬虫</em>(六)——动态网页爬取的两种策略</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/wgyscsf" target="_blank">wgyscsf</a>   日期:2016-12-04 16:31:14   浏览 700 次
      </dd> 
      <dd class="search-detail">
       CSDN
       <em>爬虫</em>(六)——动态网页爬取的两种策略说明 开发环境:jdk1.7+myeclipse10.7+win74bit+mysql5.5+webmagic0.5.2+jsoup1.7.2 
       <em>爬虫</em>框架:webMagic 建议:建议首先阅读webMagic的文档,再查看此系列文章,便于理解,快速学习:http://webmagic.io/ 开发所需jar下载(
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/wgyscsf/article/details/53454910" target="_blank">http://blog.csdn.net/wgyscsf/article/details/53454910</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/qq_30242609/article/details/53788228?locationNum=7&fps=1" target="_blank">Python<em>爬虫</em>爬取动态页面思路+实例(一)</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/qq_30242609" target="_blank">qq_30242609</a>   日期:2016-12-21 17:48:06   浏览 1990 次
      </dd> 
      <dd class="search-detail">
       简介有时候,我们天真无邪的使用urllib库或Scrapy下载HTML网页时会发现,我们要提取的网页元素并不在我们下载到的HTML之中,尽管它们在浏览器里看起来唾手可得。这说明我们想要的元素是在我们的某些操作下通过js事件动态生成的。举个例子,我们在刷QQ空间或者微博评论的时候,一直往下刷,网页越来越长,内容越来越多,就是这个让人又爱又恨的动态加载。爬取动态
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/qq_30242609/article/details/53788228" target="_blank">http://blog.csdn.net/qq_30242609/article/details/53788228</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/Enter_/article/details/51873259?locationNum=8&fps=1" target="_blank">通过Python<em>爬虫</em>爬取知乎某个问题下的图片</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/Enter_" target="_blank">Enter_</a>   日期:2016-07-10 21:36:33   浏览 6130 次
      </dd> 
      <dd class="search-detail">
       该
       <em>爬虫</em>主要是通过requests来实现的,该模块完全可以很好的代替urllib和urllib2,而且功能更强大,详细可以看这里。同时也用到了pillow模块中的image对象,实现环境是Python2,不过在Python3上只需很小的改动就可以正常运行。 首先通过cookie模拟登陆到知乎,然后获取知乎某一个问题的链接,打开并获取该问题回答下的图片,
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/Enter_/article/details/51873259" target="_blank">http://blog.csdn.net/Enter_/article/details/51873259</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/fly_yr/article/details/51570339?locationNum=9&fps=1" target="_blank">Python2 <em>爬虫</em>(九) -- Scrapy & BeautifulSoup之再爬CSDN博文</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/fly_yr" target="_blank">fly_yr</a>   日期:2016-06-02 21:54:11   浏览 2205 次
      </dd> 
      <dd class="search-detail">
       序 我的Python3
       <em>爬虫</em>(五)博文使用utllib基本函数以及正则表达式技术实现了爬取csdn全部博文信息的任务。 链接:Python3 
       <em>爬虫</em>(五) -- 单线程爬取我的CSDN全部博文 上一篇Python3 
       <em>爬虫</em>(八) -- BeautifulSoup之再次爬取CSDN博文,我们就利用BeautifulSoup4重新实现了一次爬取csdn博文的任务。
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/fly_yr/article/details/51570339" target="_blank">http://blog.csdn.net/fly_yr/article/details/51570339</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/cleverbegin/article/details/37960425?locationNum=10&fps=1" target="_blank">反<em>爬虫</em>技术</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/cleverbegin" target="_blank">cleverbegin</a>   日期:2014-07-19 14:13:18   浏览 3782 次
      </dd> 
      <dd class="search-detail">
       因为搜索引擎的流行,网络
       <em>爬虫</em>已经成了很普及网络技术,除了专门做搜索的Google,Yahoo,微软,百度以外,几乎每个大型门户网站都有自己的搜索引擎,大大小小叫得出来名字得就几十种,还有各种不知名的几千几万种,对于一个内容型驱动的网站来说,受到网络
       <em>爬虫</em>的光顾是不可避免的。 一些智能的搜索
       <em>引擎</em>爬虫的爬取频率比较合理,对网站资源消耗比较少,但是很多糟
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/cleverbegin/article/details/37960425" target="_blank">http://blog.csdn.net/cleverbegin/article/details/37960425</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/Eastmount/article/details/53253278?locationNum=11&fps=1" target="_blank">[python<em>爬虫</em>] Selenium切换窗口句柄及调用Chrome浏览器</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/Eastmount" target="_blank">Eastmount</a>   日期:2016-11-21 04:36:27   浏览 3335 次
      </dd> 
      <dd class="search-detail">
       因为我的博客是根据我每个阶段自己做的事情而写的,所以前言可能有点跑题,但它更有利于让我回忆这个阶段自己的所作所为。这篇文章主要介绍Selenium
       <em>爬虫</em>获取当前窗口句柄、切换窗口句柄以及调用Chrome浏览器几个知识点,其中获取当前句柄的方法是非常重要的一个知识点,只有真正遇到的时候才能体会到它的强大。我
       <em>爬虫</em>主要使用Selenium、
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/Eastmount/article/details/53253278" target="_blank">http://blog.csdn.net/Eastmount/article/details/53253278</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/zjiang1994/article/details/52779537?locationNum=12&fps=1" target="_blank">scrapy<em>爬虫</em>框架入门实例</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/zjiang1994" target="_blank">zjiang1994</a>   日期:2016-10-10 21:22:14   浏览 848 次
      </dd> 
      <dd class="search-detail">
       scrapy
       <em>爬虫</em>框架入门实例 关于如何安装scrapy框架,可以参考这篇文章 scrapy安装方法 初识scrapy框架,写个简单的例子帮助理解。 例子的目标就是抓取慕课网的课程信息 流程分析 抓取内容 例子要抓取这个网页http://www.imooc.com/course/list 要抓取的内容是全部的课程名称,课程图片,课程人数,
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/zjiang1994/article/details/52779537" target="_blank">http://blog.csdn.net/zjiang1994/article/details/52779537</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/flyingfishmark/article/details/51316159?locationNum=13&fps=1" target="_blank">python<em>爬虫</em>入门笔记:用scrapy爬豆瓣</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/flyingfishmark" target="_blank">flyingfishmark</a>   日期:2016-05-04 16:42:06   浏览 1529 次
      </dd> 
      <dd class="search-detail">
       本文希望达到以下目标: 简要介绍Scarpy使用Scarpy抓取豆瓣电影 我们正式讲scrapy框架
       <em>爬虫</em>,并用豆瓣来试试手,url:http://movie.douban.com/top250 首先先要回答一个问题。 问:把网站装进
       <em>爬虫</em>里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的
       <em>爬虫</em>项目明确目标(Items)
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/flyingfishmark/article/details/51316159" target="_blank">http://blog.csdn.net/flyingfishmark/article/details/51316159</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/wgyscsf/article/details/52751467?locationNum=14&fps=1" target="_blank">CSDN<em>爬虫</em>(四)——博客专家(所有)爬取+数据分析</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/wgyscsf" target="_blank">wgyscsf</a>   日期:2016-10-07 19:58:38   浏览 686 次
      </dd> 
      <dd class="search-detail">
       CSDN
       <em>爬虫</em>(四)——博客专家(所有)爬取+数据分析说明 开发环境:jdk1.7+myeclipse10.7+win74bit+mysql5.5+webmagic0.5.2+jsoup1.7.2 
       <em>爬虫</em>框架:webMagic 建议:建议首先阅读webMagic的文档,再查看此系列文章,便于理解,快速学习:http://webmagic.io/ 开发所需jar
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/wgyscsf/article/details/52751467" target="_blank">http://blog.csdn.net/wgyscsf/article/details/52751467</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
     <dl class="search-list"> 
      <dt class="csdn-tracking-statistics" data-mod="popu_271" data-dsm="post"> 
       <a href="http://blog.csdn.net/Bone_ACE/article/details/50771839?locationNum=15&fps=1" target="_blank">QQ空间<em>爬虫</em>分享(一天可抓取 400 万条数据)</a> 
      </dt> 
      <dd class="author-time">
       作者:
       <a href="http://my.csdn.net/Bone_ACE" target="_blank">Bone_ACE</a>   日期:2016-03-01 13:30:15   浏览 11602 次
      </dd> 
      <dd class="search-detail">
       代码请移步GitHub:QQSpider
       <em>爬虫</em>功能:QQSpider 使用广度优先策略爬取QQ空间中的个人信息、日志、说说、好友四个方面的信息,详细可见数据库说明。 判重使用“内存位”判重,理论上亿数量级的QQ可瞬间判重,内存只占用400M+。 
       <em>爬虫</em>速度可达到单机每天400万条数据以上(具体要考虑网速、网络带宽、稳定性等原因。我在学校是400万+,但在
      </dd> 
      <dd class="search-link">
       <a href="http://blog.csdn.net/Bone_ACE/article/details/50771839" target="_blank">http://blog.csdn.net/Bone_ACE/article/details/50771839</a>
      </dd> 
     </dl> 
     <!-- 			        	<dl class="search-list"> --> 
     <!-- 				        </dl> --> 
    </div> 
    <div class="csdn-pagination hide-set"> 
     <span class="page-nav"> <span class="text">共11341条结果</span> <a href="?p=1&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null&f=null" class="btn btn-xs btn-default active"> 1 </a> <a href="?p=2&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null&f=null" class="btn btn-xs btn-default"> 2 </a> <a href="?p=3&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null&f=null" class="btn btn-xs btn-default"> 3 </a> <a href="?p=4&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null&f=null" class="btn btn-xs btn-default"> 4 </a> <a href="?p=5&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null&f=null" class="btn btn-xs btn-default"> 5 </a> <span class="ellipsis">...</span> <a href="?p=7&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null&f=null" class="btn btn-xs btn-default"> 7 </a> <a href="?p=2&q=爬虫&t=blog&domain=&o=null&s=null&u=null&l=null" class="btn btn-xs btn-default btn-next">> </a> </span> 
     <span class="page-go"> <span class="text">到第</span> <input type="text" style="width:30px; border:1px solid #ccc;" id="p1" value="1" /> <span class="text">页</span> <button type="button" class="btn btn-xs btn-default btn-go" οnclick="location.href='?p=' + $('#p1').val() + '&q=爬虫&t=blog&o=null&s=null&u=null&l=null&f=null'">GO</button> </span> 
    </div> 
    <div style="display:none"> 
     <p class="pointout"></p> 
    </div> 
    <div class="relation-search csdn-tracking-statistics" data-mod="popu_49" data-dsm="post"> 
     <p><em>爬虫</em>的相关搜索</p> 
     <ul> 
      <li> <a href="/so/search/s.do?q=自己动手写爬虫&t=blog" class="rel-search" title="自己动手写爬虫" target="_self">自己动手写爬虫</a> </li> 
      <li> <a href="/so/search/s.do?q=主题爬虫&t=blog" class="rel-search" title="主题爬虫" target="_self">主题爬虫</a> </li> 
      <li> <a href="/so/search/s.do?q=基于python的网络爬虫设计&t=blog" class="rel-search" title="基于python的网络爬虫设计" target="_self">基于python的网络爬虫设...</a> </li> 
      <li> <a href="/so/search/s.do?q=python 多线程爬虫&t=blog" class="rel-search" title="python 多线程爬虫" target="_self">python 多线程爬虫</a> </li> 
      <li> <a href="/so/search/s.do?q=python多线程爬虫&t=blog" class="rel-search" title="python多线程爬虫" target="_self">python多线程爬虫</a> </li> 
      <li> <a href="/so/search/s.do?q=python 多线程 爬虫&t=blog" class="rel-search" title="python 多线程 爬虫" target="_self">python 多线程 爬虫</a> </li> 
      <li> <a href="/so/search/s.do?q=学网络爬虫&t=blog" class="rel-search" title="学网络爬虫" target="_self">学网络爬虫</a> </li> 
      <li> <a href="/so/search/s.do?q=scrapy 爬虫&t=blog" class="rel-search" title="scrapy 爬虫" target="_self">scrapy 爬虫</a> </li> 
      <li> <a href="/so/search/s.do?q=微博爬虫 wap&t=blog" class="rel-search" title="微博爬虫 wap" target="_self">微博爬虫 wap</a> </li> 
     </ul> 
    </div> 
    <div class="search-from2"> 
     <form> 
      <div class="search-text-con2" style="position:relative"> 
       <input type="text" path="q" class="search-text2" name="q" value="爬虫" autocomplete="off" /> 
       <input type="hidden" id="tb" name="t" value="blog" /> 
       <input type="hidden" id="ob" name="o" value="null" /> 
       <input type="hidden" id="sb" name="s" value="null" /> 
       <input type="hidden" id="lanb" name="l" value="null" /> 
       <ul class="search-suggest2" id="search-suggest3" style="bottom: 30px;"></ul> 
      </div> 
      <div id="codeSelector2" class="search-ul-con2 dropup" style="display:none;"> 
       <select id="dropdownMenu2" οnchange="changeLan('2');" style="width: 103px;height: 30px;border: 0;font-family:'Microsoft Yahei';"> <option value="all" selected="selected">全部语言</option> <option value="java">Java</option> <option value="cpp">c++</option> <option value="html">html</option> <option value="php">php</option> <option value="javascript">javascript</option> <option value="css">css</option> <option value="objc">object-c</option> <option value="csharp">c#</option> <option value="python">python</option> <option value="ruby">ruby</option> <option value="vb">vb</option> <option value="delphi">delphi</option> <option value="sql">sql</option> </select> 
      </div> 
      <div class="search-btn-con2"> 
       <input type="Submit" value="搜一搜" class="search-btn2" /> 
      </div> 
     </form> 
    </div> 
   </div> 
   <div class="con-r"> 
    <div style="height:96px;"> 
    </div> 
    <!-- 		    	<div class="adv"> --> 
    <!-- 		    	</div> --> 
    <!-- 		    	<div class="common-box"  style="margin-top:116px;"> --> 
    <!-- 		        	<h3>精品文档</h3> --> 
    <!-- 		        	<div class="source-list tracking-ad" data-mod="popu_51" data-pid="so" > --> 
    <!-- 		            </div> --> 
    <!-- 		        </div> --> 
    <!-- 		        <div class="common-box"  id="source-list" > --> 
    <!-- 		        	<h3>精品文档</h3> --> 
    <!-- 		        	<div class="source-list tracking-ad" data-mod="popu_51" data-pid="so" > --> 
    <!-- 		            </div> --> 
    <!-- 				</div> --> 
    <!-- 		        <div class="common-box" id="rel_job" style="display:none"> --> 
    <!-- 		        	<h3 id="job-pos-title" style="display:none">相关职位</h3> --> 
    <!-- 		        	<ul class="relation-pos tracking-ad" data-mod="popu_50" data-pid="so" > --> 
    <!-- 		            </ul> --> 
    <!-- 		        </div> --> 
    <!--学院课程[edu course] 的div  if (t != null && t != "" && t != "course") {--> 
    <div id="edu_so_reco"> 
     <script src="http://csdnimg.cn/jobreco/job_reco.js" type="text/javascript"></script> 
     <script type="text/javascript">
	                   // if (show_course) {
	                    	csdn.position.showEdu({
	                            sourceType: "so",
	                            searchType: "detail",
	                            searchKey: "爬虫",
	                            username: getCookie('UserName'),
	                            recordcount: "4",
	                            containerId: "edu_so_reco"  //容器DIV的id。
	                        });
	                   // }
	                        
	                    </script> 
    </div> 
    <div class="rightadv"> 
     <!-- 广告位开始 --> 
     <ins data-revive-zoneid="155" data-revive-id="8c38e720de1c90a6f6ff52f3f89c4d57"></ins> 
     <!-- 广告位结束 --> 
    </div> 
    <!-- 		        <div class="common-box"> --> 
    <!-- 		        	<h3>相关外包项目</h3> --> 
    <!-- 		        	<ul class="relation-project"> --> 
    <!-- 		            <li><a href="#">一个好玩的录屏mac项目</a></li> --> 
    <!-- 		            <li><a href="#">win32项目移植到Android</a></li> --> 
    <!-- 		            <li><a href="#">从svn上检出为的web项目,检出后不能发布到...</a></li> --> 
    <!-- 		            <li><a href="#">dwz框架项目 中调用uploadify方法上传图片</a></li> --> 
    <!-- 		            <li><a href="#">GitHub上最热门的开源项目</a></li>            --> 
    <!-- 		            </ul> --> 
    <!-- 		        </div> --> 
   </div> 
  </div> 
  <!--add by zw : 解决问题弹窗 start --> 
  <!-- 		<div class="solve_pupup"> --> 
  <!-- 		    <a class="close_btn" href="javascript:;">X</a> --> 
  <!-- 		    <div class="pop_con tracking-ad" data-mod="popu_214"> --> 
  <!-- 		        <span><i class="pop_confirm"></i>亲,这次搜索结果解决了你的问题吗?</span> --> 
  <!-- 			                		οnclick="return false"><i class="pop_smile"></i>解决了我的问题</a> --> 
  <!-- 		        <em>vs</em> --> 
  <!-- 			                		οnclick="return false""><i class="pop_frown"></i>没有解决我的问题</a> --> 
  <!-- 		    </div> --> 
  <!-- 		</div> --> 
  <!--add by zw : 解决问题弹窗 end --> 
  <div id="csdn_pub_footer" class="margin_foot_top" style="padding-top:20px; padding-bottom:20px;"> 
   <script language="javascript" type="text/javascript" src="http://ads.csdn.net/js/async_new.js"></script> 
   <script src="http://csdnimg.cn/pubfooter/js/publib_footer.js"></script> 
  </div> 
  <script id="csdn-toolbar-id" btnid="header_notice_num" wrapid="note1" count="5" subcount="5" type="text/javascript" src="http://c.csdnimg.cn/public/common/toolbar/js/toolbar.js"></script>  
 </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值