»°ËµPython(Æß)´ÓGo...ogle˵Æð
½ñÌìÒ»ÉϿΣ¬´óÅ£ÀÏʦ¾Í¸ø´ó¼Ò³öÁËÒ»µÀÌ⣺
±à³Ì£ºÇë´Ó×Ö·û´®“goOoOogle”ÖÐÕÒ³öÒÔ“O”¿ªÍ·£¬²¢ÒÔ“O”½áÊøµÄ²¿·Ö¡£
“Õ⻹²»¼òµ¥£¬¿´ÎҵĔС²Ë²»Ò»»á¶ù¾Í¸ø³öÁ˴𰸣º
>>> s="goOoOogle"
>>> s.find("O")
2
>>> s.find("O",3)
4
>>> s[2:5]
'OoO'
>>>
“С²Ë°¡£¬ÄãÕ¦ÕâÃ´ÉµÄØ£¡”С°×²»½ûÔÚÐÄÀï̾Ϣ£¬“ÀÏʦ³öÕâµÀÌâ²»ÊÇÃ÷°Ú×Å¿¼ÎÒÃÇÕýÔò±í´ïʽÂ”
¹ûÈ»²»³öС°×µÄÔ¤ÁÏ£¬´óÅ£ÀÏʦÓÖ³öÁËÒ»µÀÌ⣺
Çë´Ó“goOoOogle”ÖÐÔÙÕÒ³öÁ¬ÐøµÄ“o”£¬²»·Ö´óСд¡£
“²»¾ÍÊÇÑ»·ÅжÏÂ¼ÌÐøfind”С²ËÓÖ¿ªÊ¼ÁË×Ô¼ºµÄËã·¨Ö®Âá£
“С°×£¬ÄãÀ´»Ø´ðһϔ´óÅ£¿´µ½Ð¡°×ºÃÏñÒѾÍê³É£¬±ãÈÃËû»Ø´ðһϡ£
“Õ⻹²»¼òµ¥Âð£¿ÓÃÕýÔòÆ¥Åäһϲ»¾ÍÐÐÁ˔С°×ÃþÁËÃþºóÄÔÉ×£¬“ÖÁÓÚ³ÌÐòÂï——»¹Ã»Ð´£¬ºÙºÙ¡£”
ÏÈ¿´¿´ÎÒÃǵē¼ÓÇ¿°æ”ÅÀ³æ£º
import chardet,urllib.request,urllib.parse,re
from sparrow.http.response import Response
class Crawler(object):
def __init__(self,reqQueue=None,resQueue=None): #Á½¸ö¶ÓÁУ¬Ò»¸öÓÃÓÚÌáÈ¡ÍøÒ³ÇëÇó£¬Ò»¸ö´æ·ÅץȡµÄ½á¹û
self.reqQueue=reqQueue
self.resQueue=resQueue
def getData(self,request): #»ñµÃÍøÒ³Êý¾ÝºÍ·þÎñÆ÷·µ»ØµÄ±àÂë
response=urllib.request.urlopen(request)
info=Response(response)
encoding=info.charset
data=response.read()
return (encoding,data)
def getLinks(self,url,content): #½âÎöÍøÒ³ÄÚÈÝ£¬»ñµÃËùÓÐÁ´½Ó
rule_link=re.compile(r"(?i)<a\s+href=(?P<link>.+?)[\s>]") #ÕýÔò±í´ïʽ
links=rule_link.findall(content)
norLinks=[]
for i,link in enumerate(links): #½«²»ÍêÈ«µÄÁ´½Ó£¨Í¨³£ÎªÕ¾ÄÚÁ´½Ó£©²¹³äÍêÈ«
link=link.strip("\"\'") #¹ýÂËÒýºÅ
us=urllib.parse.urlsplit(link)
if(us.scheme==''):
link=urllib.parse.urljoin(url,link)
norLinks.append(link)
return norLinks
def getEnco
Ïà¹ØÎĵµ£º
È«ÎÄÀ´×Ô£ºIT¹¤³Ì¼¼ÊõÍø http://www.systhinker.com/html/91/n-11591.html
×òÌìºÍ·ÉÌìÎèÕßÌÖÂÛ¾²Ì¬ÀàÐÍÓïÑԺͶ¯Ì¬ÀàÐÍÓïÑÔÓÅÁӱȽϵÄʱºò£¬Ëµµ½PythonûÓÐÖØÔØ»úÖÆµÄÎÊÌâ¡£
ºóÀ´ÏëÏëͦÓÐÒâ˼µÄ£¬°Ñ˼¿¼µÄ¾¹ý¼Ç¼ÏÂÀ´£¬»¶ÓÅÄש¡£
ÖØÔØ£¨overload£©ºÍ¸²¸Ç£¨override£©£¬ÔÚC++£¬Java£¬C#µÈ¾²Ì¬ÀàÐÍÓïÑÔÀàÐÍÓïÑÔÖУ¬ÕâÁ½¸ö ......
£¨Ò»£© py2exe¼ò½é
py2exeÊÇÒ»¸ö½«python½Å±¾×ª»»³ÉwindowsÉϵĿɶÀÁ¢Ö´ÐеĿÉÖ´ÐгÌÐò(*.exe)µÄ¹¤¾ß£¬ÕâÑù£¬Äã¾Í¿ÉÒÔ²»ÓÃ×°python¶øÔÚ
windowsϵͳÉÏÔËÐÐÕâ¸ö¿ÉÖ´ÐгÌÐò¡£
¡¡¡¡
¡¡¡¡py2exeÒѾ±»ÓÃÓÚ´´½¨
wxPython,Tkinter,Pmw,PyGTK,pygame,win32com
clientºÍserver,ºÍÆäËüµÄ¶ÀÁ¢³ ......
ÉÏһƪÀïµÄLAMEÏîÄ¿ÒѾչʾÁËpythonÈçºÎÓëCÓïÑÔ½»»¥£¬µ«³ÌÐòÈÔ²»¹»ÀíÏ룬ÔÚpythonÕâÒ»¶Ë½ö½öÊÇ´«µÝÔ´ÎļþºÍÄ¿±êÎļþµÄ·¾¶£¬ÔÙµ÷ÓÃCÄ£¿éµÄencode·½·¨À´½øÐбàÂ룬µ«ÎÊÌâÔÚÓÚÄãÎÞ·¨¿ØÖÆencodeº¯Êý£¬±ÈÈçÄãÏë±àÂëµÄÔ´ÎļþÈç¹û²»ÊÇÔʼÊý¾Ý£¬¶øÊÇwavÎļþ»òÕ߯äËû¸ñÊ½ÄØ£¿¶ÔÓÚÕâ¸öÎÊÌ⣬ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÑ¡Ôñ£¬Ò»ÖÖÄ£·ÂÇ°ÃæµÄCÄ£ ......
>>> a="abcd"
>>> ",".join(a)
'a,b,c,d'
>>> "|".join(['a','b','c'])
'a|b|c'
>>> ",".join(('a','b','c'))
'a,b,c'
>>> ",".join({'a':1,'b':2,'c':3})
'a,c,b' ......
Èç¹ûÄã¶ÔPython¾ØÕóתÖõÄʵ¼ÊÓ¦ÓòÙ×÷·½°¸µÄתÖò»ÖªµÀÈçºÎ½øÐÐÏÂÒ»²½Ê±£¬Äã¾ÍÄãÐèҪתÖÃÒ»¸ö¶þάÊý×é,½«Python¾ØÕóתÖõÄÐÐÁл¥»».
ÕâÑù¾Í¿ÉÒÔÍê³ÉÄãËùÐèÒªµÄÓ¦ÓòÙ×÷£¬ÒÔÏÂÊÇÎÄÕµľßÌå²Ù×÷¡£
ÄãÐèҪתÖÃÒ»¸ö¶þάÊý×é,½«ÐÐÁл¥»»£¬ÌÖÂÛ:ÄãÐèҪȷ±£¸ÃÊý×éµÄÐÐÁÐÊý¶¼ÊÇÏàͬµÄ.±ÈÈç:
arr
= [[1, 2,&nbs ......