»°ËµPython£¨Î壩¿ªÊ¼Æð·É°É
С°×¶ÔÉϽڿÎÀïµÄ“СÂéȸ”ÐËȤ°»È»£¬ÕûÌì¾ÍÔÚËÞÉáµ·¹Ä¡£Õâ²»£¬¼¸ÌìÏÂÀ´ËûÒѾ¹¥ÏÂÊ®¼¸¸öÍøÕ¾ÁË¡£
С²Ëȴϲ»¶Ò»¸öÈË×øÔÚµçÄÔÅԱߣ¬Öå×Åüͷ£¬ÐÀÉÍ×ÅÕâÒ»ÐÐÐÐ×Ô¼º¿´²»¶®µÄ´úÂë¡£“ÕâЩ×Ö·ûºÃ¹ÖÒìѽ£¡”С²ËÍá×ÅÍ·£¬“ËüΪɶ½ÐÕýÔò±í´ïÊ½ÄØ£¿”
°Ù¶Èһϣ¬ÖÕÓÚÖªµÀ¡£Ð¡²ËÔÚ½ñÌìÉÏ¿ÎÇ°ËÆºõÁìÎòµ½ÁËÕýÔò±í´ïʽµÄÕæÚУ¬ÐÄÖÐÇÔϲ£º“½ñÌìÎÒÒªºÃºÃÏÔ°Úһϣ¬¿´Ë»¹ËµÎҲˡ£”
ûÏëµ½£¬½ñÌì´óÅ£ÀÏʦȴ¶ÔÕýÔò±í´ïʽֻ×ÖδÌá¡£
“Ê×ÏÈ£¬ÎÒÃÇÓ¦¸ÃÖªµÀ×Ô¼ºÏëҪʲô£¡”´óÅ£ÀÏʦÏòͬѧÃǽ²µÀ£¬·Â·ðÊÇÔÚÉÏÕÜѧ¿Î£¬“ÎÒÃǵÄÅÀ³æCrawlerÏëÒªµÃµ½Ê²Ã´ÄØ£¿”
CrawlerÖ»ÓÐÒ»¸öÄ¿µÄ£¬ÄǾÍÊÇ»ñȡָ¶¨ÍøÒ³µÄÄÚÈÝ£¬ÌáÈ¡ÀïÃæµÄÁ´½Ó¡£Èç´Ëµ¥Ò»µÄÄ¿µÄÈçºÎʵÏÖÄØ£¿
ÏÖÔÚÎÒÃÇ¿ÉÒÔ²ÂÏëÒ»ÏÂCrawlerµÄ¹¹³É£º
1¡¢Crawler±ØÐëÓÐÒ»¸öÀàÊÇÓÃÀ´ÅÀÐеģ¬ÃûΪCrawl¡£Ê×ÏÈ£¬Ëü½ÓÊÕControl´«µÝµÄÁ½¸ö¶ÓÁУºÒ»¸öÊÇÌṩµØÖ·µÄ£¬Ò»¸öÊÇÓÃÀ´´¢´æCrawlÅÀÐеõ½µÄÐÅÏ¢¡£
2¡¢CrawlerÊÇ»ùÓÚ¶àÏ̵߳쬏ÃÀà½ÐWorker¡£CrawlÀàÔÚÅÀÐÐʱʹÓÃWorkerʵÏÖ¶àÏ̡߳£WorkerÀà»áÌṩһ¸öÏ̳߳أ¬Ê¹ÅÀÐÐÓÐÐò¡¢Îȶ¨ºÍ¿ìËÙ¡£
3¡¢Crawler±ØÐëÓÐÒ»¸öÀàÀ´¼ÇÂ¼ÍøÒ³µÄÏà¹ØÐÅÏ¢£¬°üÀ¨Á´½Ó¹ØÏµ¡¢×¥È¡Ê±¼ä¡¢ÓÅÏȼ¶µÈ£¬ËüÊÇÒ»¸öÊý¾Ý½á¹¹£¬ÊµÏÖËü²¢²»ÄÑ¡£
Ïȱ𼱣¬ÔÚ±àдSparrowµÄCrawler֮ǰ£¬ÓбØÒªÑо¿Ò»ÏÂËüÊÇÈçºÎ±»µ÷Óõġ£
CrawlerÓÐÒ»¸ö¿ØÖÆÆ÷½ÐControl£¬Ëü½«Ò»ÏµÁÐÍøÖ·Ð´µ½Ò»¸ö¶ÓÁÐÀ¹©CrawlerÅÀÐС£Control³õʼ»¯Ò»¸öCrawler£¬¶ÓÁÐÒÔ²ÎÊýµÄÐÎʽ´«µÝ¸øCrawler£¬Crawler¿ªÊ¼¹¤×÷ºó£¬Á¢¼´´Ó¸Ã¶ÓÁÐÀï¶ÁÈëÒ»¸öÍøÖ·£¬½øÐÐһϵÁвÙ×÷ºó·µ»Ø¸ÃÍøÒ³µÄÄÚÈݺÍÍøÒ³ÄÚµÄËùÓÐÁ´½Ó£¬²¢½«ËüÃǷŵ½ÁíÒ»¸ö¶ÓÁÐÀï¡£ÕâÁ½¸ö¶ÓÁж¼ÊÇÓÉControlÌṩµÄ£¬CrawlerÖ»¸ºÔð×¥È¡ÍøÒ³ºÍ·ÖÎöÁ´½Ó¡£
ÕâÑù£¬ÎÒÃǾÍÇå³þÁË£ºÈç¹û½«Crawler±È×÷Êֵϰ£¬Control¾ÍÊÇ´óÄÔ¡£ControlÓÖÊÇÔõÑùʵÏÖÄØ£¿
ControlÌṩ¸øCrawlerÁ½¸ö¶ÓÁУ¬²¢Æô¶¯Crawler¡£³õʼ»¯CrawlerµÄÓï¾äΪ
crawler=Crawler(request_queue,result_queue)
“Ϊʲô²»ÈÃCrawler×Ô¼ºÑ»·Ö´ÐÐÄØ£¿”С°×ÎʵÀ¡£
ÔÒòÓжþ£º
1¡¢ÎÒÃÇÐèÒª¶ÔÅÀÐкóµÃµ½µÄ½á¹û½øÐд¦Àí£¬Ö»ÄÜÈÃCrawlerÅÀÐÐÎÒÃÇÏëÒªµÄÍøÒ³£¬¶ø²»ÊÇÈÃÅÀ³æÂþÎÞÄ¿µÄµÄÂҹ䡣
2¡¢ÈÃCrawler×Ô¼ºÑ»·ÈÝÒ×Ôì³ÉËÀÑ»·£¬µ¼ÖÂÒç³öÉõÖÁ±ÀÀ£¡£
“ControlºÃ¼òµ
Ïà¹ØÎĵµ£º
1£¬ÏÂÔØorg.python.pydev.feature-1.5.0.1251989166.zip http://sourceforge.net/projects/pydev/files/
2£¬°²×°²å¼þµ½eclipse
3£¬ÖØÆôeclipse
×¢Ò⣺ʹÓÃ1.5.6°æ±¾pydev²å¼þ£¬´´½¨python¹¤³Ì»á±¨´í£¬Ê¹ÓÃ1.5.0°æ±¾ÎÞ´ËÎÊÌâ¡£ ......
1£¬±àдServer.py
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(('localhost',8081))
while True:
data,addr=s.recvfrom(1024)
print 'receive:',data,'from',addr
2£¬±àдClient.py
import socket
s=socket.socket(socket.AF_INET,socket.SOC ......
list.append(item)
list.extend(sequence)
http://docs.python.org/tutorial/datastructures.html
http://docs.python.org/library/functions.html Õ⼸Ìì¿´Ò»ÏÂ
python howto
¶÷¡£python documentation ȷʵºÜºÃºÜÇ¿´ó°¡£¡
list.append(x)Add an item to the end of the list; equivalent to a[len(a):]&n ......
½ñÌìÓöµ½ÁËÂé·³£º
ÓÃEclipse±àÒëpythonÏòsqliteÊý¾Ý¿â²åÈëÊý¾Ý×ÜÊÇÌáʾ±àÂëµÄÎÊÌ⣬ÎÒÉèÖÃÁËEclipseµÄworkspaceÓÃutf-8±àÂ뻹ÊDz»ÐÐ
µ«ÊÇÓÃEclipseдµÄ³ÌÐò±£´æÔÙÓÃIDLE´ò¿ªÈ´ÄܱàÒë£¬Ææ¹ÖÁË
ÎÒ¿¼Âǵ½¿ÉÄÜÊÇÅäÖõÄÔÒò£¬ÕÒÕÒ±éÁËËùÓеÄÅäÖ㬶¼Ã»ÓÐÎÊÌ⣬°üÀ¨¹¤³ÌÎļþ
×îºóÎÒÓÃxvi32´ò¿ ......
[Ô´´]Python(pysvn)ÌáÈ¡svn°æ±¾¼ä¸Ä¶¯ÎļþÁбí
by AKara 2010.04.29 @ http://blog.csdn.net/akara @ akaras@163.com
---------------------------------------------------------------------
Ï£ÍûʵÏÖÒ»¸öÌáÈ¡Á½¸ösvn revision¼äÓб䶯(Ôö/ɾ/¸Ä)µÄÎļþµÄÁбí
µÄÃüÁîÐй¤¾ß£»¿ÉÒÔ°ïÎÒÃÇÏîÄ¿×öһЩÁ÷ ......