±à¼ÍƼö: |
±¾ÎÄÀ´Ô´²©¿ÍÔ°£¬Ö÷Ҫͨ¹ýʾÀýÑÝʾ15¸ö×îÊÜ»¶ÓµÄPython¿ªÔ´¿ò¼Ü£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£ |
|
Ò»¡¢Django: Python WebÓ¦Óÿª·¢¿ò¼Ü
DjangoÊÇÒ»¸ö¿ª·ÅÔ´´úÂëµÄWebÓ¦Óÿò¼Ü£¬ÓÉPythonд³É¡£²ÉÓÃÁËMVCµÄÈí¼þÉè¼ÆÄ£Ê½£¬¼´Ä£ÐÍM£¬ÊÓͼVºÍ¿ØÖÆÆ÷C¡£Ëü×î³õÊDZ»¿ª·¢À´ÓÃÓÚ¹ÜÀíÀÍÂ×˹³ö°æ¼¯ÍÅÆìϵÄһЩÒÔÐÂÎÅÄÚÈÝΪÖ÷µÄÍøÕ¾µÄ£¬
¼´ÊÇCMS£¨ÄÚÈݹÜÀíϵͳ£©Èí¼þ¡£²¢ÓÚ2005Äê7ÔÂÔÚBSDÐí¿É֤Ϸ¢²¼¡£ÕâÌ׿ò¼ÜÊÇÒÔ±ÈÀûʱµÄ¼ªÆÕÈü¾ôÊ¿¼ªËûÊÖDjango
ReinhardtÀ´ÃüÃûµÄ¡£
Django Ó¦¸ÃÊÇ×î³öÃûµÄPython¿ò¼Ü£¬GAEÉõÖÁErlang¶¼Óпò¼ÜÊÜËüÓ°Ïì¡£DjangoÊÇ×ß´ó¶øÈ«µÄ·½Ïò£¬Ëü×î³öÃûµÄÊÇÆäÈ«×Ô¶¯»¯µÄ¹ÜÀíºǫ́£ºÖ»ÐèҪʹÓÃÆðORM£¬×ö¼òµ¥µÄ¶ÔÏó¶¨Ò壬Ëü¾ÍÄÜ×Ô¶¯Éú³ÉÊý¾Ý¿â½á¹¹¡¢ÒÔ¼°È«¹¦ÄܵĹÜÀíºǫ́¡£
DjangoÌṩµÄ·½±ã£¬Ò²Òâζ×ÅDjangoÄÚÖõÄORM¸ú¿ò¼ÜÄ򵀮äËûÄ£¿éñîºÏ³Ì¶È¸ß¡£Ó¦ÓóÌÐò±ØÐëʹÓÃDjangoÄÚÖõÄORM£¬·ñÔò¾Í²»ÄÜÏíÊܵ½¿ò¼ÜÄÚÌṩµÄÖÖÖÖ»ùÓÚÆäORMµÄ±ãÀû£»ÀíÂÛÉÏ¿ÉÒÔÇл»µôÆäORMÄ£¿é£¬
µ«Õâ¾ÍÏ൱ÓÚÒª°Ñ×°ÐÞÍê±ÏµÄ·¿×Ó²ð³ýÖØÐÂ×°ÐÞ£¬µ¹²»ÈçÒ»¿ªÊ¼¾ÍȥëÅß·¿×öȫеÄ×°ÐÞ¡£DjangoµÄÂôµãÊdz¬¸ßµÄ¿ª·¢Ð§ÂÊ£¬ÆäÐÔÄÜÀ©Õ¹ÓÐÏÞ£»²ÉÓÃDjangoµÄÏîÄ¿£¬ÔÚÁ÷Á¿´ïµ½Ò»¶¨¹æÄ£ºó£¬¶¼ÐèÒª¶ÔÆä½øÐÐÖØ¹¹£¬²ÅÄÜÂú×ãÐÔÄܵÄÒªÇó¡£
¶þ¡¢Diesel£º»ùÓÚGreenletµÄʼþI/O¿ò¼Ü
DieselÌṩһ¸öÕû½àµÄAPIÀ´±àÐ´ÍøÂç¿Í»§¶ËºÍ·þÎñÆ÷¡£Ö§³ÖTCPºÍUDP¡£
ÄãÓ¦¸ÃʹÓÃdieselÀ´±àдÄãµÄÏÂÒ»¸öÍøÂçÓ¦ÓᣵÃÒæÓÚPythonʹµÃdieselÓï·¨·Ç³£Õû½à£¬·¢Õ¹²½·¥·Ç³£Ñ¸ËÙ¡£·Ç×èÈûI/OʹµÃdiesel·Ç³£¿ìËÙ²¢ÇÒÈÝÒ×À©Õ¹¡£greenletsʹµÃdieselÓÐÁËunwind£¨to(callbacks(no)))¡£
noseʹµÃ²âÊÔ±äµÃÈÝÒס£×îºó£¬FlaskʹµÃÄã²»ÐèҪдһ¸öеÄÍøÂç¿ò¼ÜÀ´Ê¹ÓÃdiesel¡£

Èý¡¢Flask£ºÒ»¸öÓÃPython±àдµÄÇáÁ¿¼¶WebÓ¦Óÿò¼Ü
FlaskÊÇÒ»¸öʹÓÃPython±àдµÄÇáÁ¿¼¶WebÓ¦Óÿò¼Ü¡£»ùÓÚWerkzeug WSGI¹¤¾ßÏäºÍJinja2
Ä£°åÒýÇæ¡£ FlaskʹÓÃBSDÊÚȨ¡£ FlaskÒ²±»³ÆÎª¡°microframework¡±£¬ÒòΪËüʹÓüòµ¥µÄºËÐÄ£¬ÓÃextensionÔö¼ÓÆäËû¹¦ÄÜ¡£
FlaskûÓÐĬÈÏʹÓõÄÊý¾Ý¿â¡¢´°ÌåÑéÖ¤¹¤¾ß¡£È»¶ø£¬Flask±£ÁôÁËÀ©ÔöµÄµ¯ÐÔ£¬¿ÉÒÔÓÃFlask-extension¼ÓÈëÕâЩ¹¦ÄÜ£ºORM¡¢´°ÌåÑéÖ¤¹¤¾ß¡¢ÎļþÉÏ´«¡¢¸÷ÖÖ¿ª·ÅʽÉí·ÝÑéÖ¤¼¼Êõ¡£
Flask ºÜÓÐȤ

ÅäÖüòµ¥ 
ÌØÐÔ 1¡¢ÄÚÖÿª·¢Ó÷þÎñÆ÷ºÍdebugger
2¡¢¼¯³Éµ¥Ôª²âÊÔ£¨unit testing£©
3¡¢RESTful request dispatching
4¡¢Ê¹ÓÃJinja2Ä£°åÒýÇæ
5¡¢Ö§³Ösecure cookies£¨client side sessions£©
6¡¢100% WSGI 1.0¼æÈÝ
7¡¢Unicode based
8¡¢ÏêϸµÄÎļþ¡¢½Ìѧ
9¡¢Google App Engine¼æÈÝ
10¡¢¿ÉÓÃExtensionsÔö¼ÓÆäËû¹¦ÄÜ
ËÄ¡¢Cubes£ºÇáÁ¿¼¶Python OLAP¿ò¼Ü
CubesÊÇÒ»¸öÇáÁ¿¼¶Python¿ò¼Ü£¬°üº¬OLAP¡¢¶àάÊý¾Ý·ÖÎöºÍä¯ÀÀ¾ÛºÏÊý¾Ý£¨aggregated
data£©µÈ¹¤¾ß
CubesµÄÖ÷ÒªÌØÐÔÖ®Ò»ÊÇËüµÄÂ߼ģÐÍ£¬³éÏóÎïÀíÊý¾Ý²¢Ìṩ¸øÖÕ¶ËÓû§²ã¡£

Îå¡¢Kartograph.py£º´´ÔìʸÁ¿µØÍ¼µÄÇáÁ¿¼¶Python¿ò¼Ü
KartographÊÇÒ»¸öPython¿â£¬ÓÃÀ´ÎªESRIÉú³ÉSVGµØÍ¼¡£Kartograph.pyĿǰÈÔ´¦ÓÚbeta½×¶Î£¬Äã¿ÉÒÔÔÚvirtualenv»·¾³ÏÂÀ´²âÊÔ¡£


Áù¡¢Pulsar£ºPythonµÄʼþÇý¶¯²¢·¢¿ò¼Ü
PulsarÊÇÒ»¸öʼþÇý¶¯µÄ²¢·¢¿ò¼Ü£¬ÓÐÁËpulsar£¬Äã¿ÉÒÔд³öÔÚ²»Í¬½ø³Ì»òÏß³ÌÖÐÔËÐÐÒ»¸ö»ò¶à¸ö»î¶¯µÄÒì²½·þÎñÆ÷¡£
Ó¦Óà ¸½´øÒÔϹ¦ÄÜ
1¡¢Socket·þÎñÆ÷
2¡¢WSGI·þÎñÆ÷
3¡¢JSON-RPC
4¡¢Web Sockets
5¡¢ÈÎÎñ¶ÓÁÐ
6¡¢Shell
7¡¢²âÊÔ°ü
8¡¢django¼¯³É
ʾÀý ¶ÔËùÓÐÇëÇó¶¼·µ»Ø¡°Hello World!¡±×÷ΪÏìÓ¦

Æß¡¢Web2py£ºÈ«Õ»Ê½Web¿ò¼Ü
Web2pyÊÇÒ»¸öΪPythonÓïÑÔÌṩµÄÈ«¹¦ÄÜWebÓ¦Óÿò¼Ü£¬Ö¼ÔÚÃô½Ý¿ìËٵĿª·¢WebÓ¦Ó㬾ßÓпìËÙ¡¢°²È«ÒÔ¼°¿ÉÒÆÖ²µÄÊý¾Ý¿âÇý¶¯µÄÓ¦Ó㬼æÈÝGoogle
App Engine¡£
Web2pyĿ¼½á¹¹

°Ë¡¢Falcon£º¹¹½¨ÔÆAPIºÍÍøÂçÓ¦Óúó¶ËµÄ¸ßÐÔÄÜPython¿ò¼Ü
FalconÊÇÒ»¸ö¹¹½¨ÔÆAPIµÄ¸ßÐÔÄÜPython¿ò¼Ü£¬Ëü¹ÄÀøÊ¹ÓÃREST¼Ü¹¹·ç¸ñ£¬¾¡¿ÉÄÜÒÔ×îÉÙµÄÁ¦Æø×ö×î¶àµÄÊÂÇé¡£
ÌØÐÔ 1¡¢Í¨¹ýURIÄ£°åºÍ×ÊÔ´ÀàµÄ·ÓÉ
2¡¢Í¨¹ýÇëÇóºÍÏìÓ¦Àà·ÃÎÊheadersºÍbodies
3¡¢Í¨¹ýÒì³£»ùÀàÏìÓ¦HTTP´íÎóµÈµÈ
»ù×¼²âÊÔ



¾Å¡¢Dpark£ºPython°æµÄSpark

DParkÊÇÒ»¸ö»ùÓÚMesosµÄ¼¯Èº¼ÆËã¿ò¼Ü(cluster computing framework)£¬ÊÇSparkµÄPythonʵÏÖ°æ±¾£¬ÀàËÆÓÚMapReduce£¬µ«ÊÇ±ÈÆä¸üÁé»î£¬¿ÉÒÔÓÃPython·Ç³£·½±ãµØ½øÐзֲ¼Ê½¼ÆË㣬²¢ÇÒÌṩÁ˸ü¶àµÄ¹¦ÄÜÒÔ±ã¸üºÃ
µÄ½øÐеü´úʽ¼ÆËã¡£DParkµÄ¼ÆËãÄ£ÐÍÊÇ»ùÓÚÁ½¸öÖÐÐÄ˼ÏëµÄ£º¶Ô·Ö²¼Ê½Êý¾Ý¼¯µÄ²¢ÐмÆËãÒÔ¼°Ò»Ð©ÓÐÏ޵ĿÉÒÔÔÚ¼ÆËã¹ý³ÌÖС¢´Ó²»Í¬»úÆ÷·ÃÎʵĹ²Ïí±äÁ¿ÀàÐÍ¡£Õâ¸öµÄÄ¿±êÊÇΪÁËÌṩһÖÖÀàËÆÓÚglobal
address space
programming modelµÄ¹¤¾ß£¬ÀýÈçOpenMP£¬µ«ÊÇÎÒÃÇÒªÇó¹²Ïí±äÁ¿µÄÀàÐͱØÐëÊÇÄÇЩºÜÈÝÒ×ÔÚ·Ö²¼Ê½ÏµÍ³µ±ÖÐʵÏֵ쬵±Ç°Ö§³ÖµÄ¹²Ïí±äÁ¿ÀàÐÍÓÐÖ»¶ÁµÄÊý¾ÝºÍÖ§³ÖÒ»ÖÖÊý¾ÝÐ޸ķ½Ê½µÄÀÛ¼ÓÆ÷(accumulators)¡£
DPark¾ßÓеÄÒ»¸öºÜÖØÒªµÄÌØÐÔ£º·Ö²¼Ê½µÄÊý¾Ý¼¯¿ÉÒÔÔÚ¶à¸ö²»Í¬µÄ²¢ÐÐÑ»·µ±Öб»Öظ´ÀûÓá£Õâ¸öÌØÐÔ½«ÆäÓëÆäËûÊý¾ÝÁ÷ÐÎʽµÄ¿ò¼ÜÀýÈçHadoopºÍDryadÇø·Ö¿ªÀ´¡£
ʾÀý Ò»¸öword counting³ÌÐò

ÉÏÃæµÄ½Å±¾¿ÉÒÔÎÞÐ޸ĵÄÔÚMesos¼¯ÈºÉÏÔËÐУ¬Ö»ÐèÉÔ΢ÐÞ¸ÄÒ»ÏÂÃüÁîÐвÎÊý£º

Ê®¡¢Buildbot£º»ùÓÚPythonµÄ³ÖÐø¼¯³É²âÊÔ¿ò¼Ü
BuildbotÊÇÒ»¸ö¿ªÔ´¿ò¼Ü£¬¿ÉÒÔ×Ô¶¯»¯Èí¼þ¹¹½¨¡¢²âÊԺͷ¢²¼µÈ¹ý³Ì¡£Ã¿µ±´úÂëÓиı䣬·þÎñÆ÷ÒªÇó²»Í¬Æ½Ì¨ÉϵĿͻ§¶ËÁ¢¼´½øÐдúÂë¹¹½¨ºÍ²âÊÔ£¬ÊÕ¼¯²¢±¨¸æ²»Í¬Æ½Ì¨µÄ¹¹½¨ºÍ²âÊÔ½á¹û¡£

ʮһ¡¢Zerorpc£º»ùÓÚZeroMQµÄ¸ßÐÔÄÜ·Ö²¼Ê½RPC¿ò¼Ü
ZerorpcÊÇÒ»¸ö»ùÓÚZeroMQºÍMessagePack¿ª·¢µÄÔ¶³Ì¹ý³Ìµ÷ÓÃÐÒ飨RPC£©ÊµÏÖ¡£ºÍ
Zerorpc Ò»ÆðʹÓÃµÄ Service API ±»³ÆÎª zeroservice¡£Zerorpc
¿ÉÒÔͨ¹ý±à³Ì»òÃüÁîÐз½Ê½µ÷Óá£
ËüÔÊÐíÄ㣺
1¡¢²»ÓÃÐ޸ĴúÂë¼´¿ÉÏÔ¶pythonÄ£¿é
2¡¢Í¨¹ýÃüÁîÐÐÔ¶³Ìµ÷ÓÃÕâЩģ¿é
ÈçºÎ°ÑÄã´úÂëÖеĶÔÏó±©Â¶ÎªÒ»¸özeroservice£¿

ÔËÐÐÒÔÉÏ´úÂ룬ÔÚÁíÒ»¸öÖÕ¶Ë£¬³¢ÊÔÁ¬½ÓÕâ¸özeroservice

Ê®¶þ¡¢Bottle: ΢ÐÍPython Web¿ò¼Ü
BottleÊÇÒ»¸ö¼òµ¥¸ßЧµÄ×ñÑWSGIµÄ΢ÐÍpython Web¿ò¼Ü¡£ËµÎ¢ÐÍ£¬ÊÇÒòΪËüÖ»ÓÐÒ»¸öÎļþ£¬³ýPython±ê×¼¿âÍ⣬Ëü²»ÒÀÀµÓÚÈκεÚÈý·½Ä£¿é¡£
ÌØÐÔ 1¡¢Routing£º°ÑÇëÇóÓ³Éäµ½º¯Êý£¬½¨Á¢¼ò½à¶¯Ì¬µÄURLs
2¡¢Templates£º²ÉÓÃÄÚÖÃÄ£°åÒýÇæ£¬Í¬Ê±»¹Ö§³Ö mako, jinja2, cheetah
µÈµÚÈý·½Ä£°å
3¡¢Utilities£º±ã½ÝµØ¶ÁÈ¡±íµ¥Êý¾Ý¡¢ÉÏ´«Îļþ¡¢ cookies¡¢HTTPÍ·ÐÅÏ¢ºÍÆäËü
HTTPÏà¹ØµÄÔªÊý¾Ý
4¡¢Server£ºÄÚÖÃHTTP¿ª·¢·þÎñÆ÷£¬²¢ÇÒÖ§³Ö paste, fapws3,
bjoern, Google App Engine, Cherrypy »òÕ߯äËüÈκÎWSGI HTTP
·þÎñÆ÷
ʾÀý 
ÔËÐÐÉÏÃæµÄ´úÂ룬·ÃÎÊhttp://localhost:8080/hello/bottleÊÔÊÔ¡£
ÏÂÔØºÍ°²×°
ͨ¹ý

»òÕß

°²×°×îÐÂÎȶ¨°æ£¬»òÕßÏÂÔØbottle.py (²»Îȶ¨)µ½ÄãµÄ¹¤³ÌĿ¼¡£BottleÔËÐÐÓÚPython
2.5+ and 3.x»·¾³Ï¡£
Ê®Èý¡¢Tornado£ºÒì²½·Ç×èÈûIOµÄPython Web¿ò¼Ü
TornadoµÄÈ«³ÆÊÇTorado Web Server£¬´ÓÃû×ÖÉÏ¿´¾Í¿ÉÖªµÀËü¿ÉÒÔÓÃ×÷Web·þÎñÆ÷£¬µ«Í¬Ê±ËüÒ²ÊÇÒ»¸öPython
WebµÄ¿ª·¢¿ò¼Ü¡£×î³õÊÇÔÚFriendFeed¹«Ë¾µÄÍøÕ¾ÉÏʹÓã¬FaceBookÊÕ¹ºÁËÖ®ºó±ã¿ªÔ´Á˳öÀ´¡£
×÷ΪWeb¿ò¼Ü£¬ÊÇÒ»¸öÇáÁ¿¼¶µÄWeb¿ò¼Ü£¬ÀàËÆÓÚÁíÒ»¸öPython web ¿ò¼ÜWeb.py£¬ÆäÓµÓÐÒì²½·Ç×èÈûIOµÄ´¦Àí·½Ê½¡£
×÷ΪWeb·þÎñÆ÷£¬TornadoÓнÏΪ³öÉ«µÄ¿¹¸ºÔØÄÜÁ¦£¬¹Ù·½ÓÃnginx·´Ïò´úÀíµÄ·½Ê½²¿ÊðTornadoºÍÆäËüPython
webÓ¦Óÿò¼Ü½øÐжԱȣ¬½á¹û×î´óä¯ÀÀÁ¿³¬¹ýµÚ¶þÃû½ü40%¡£
´ËÍ⣬ËüµÄÔ´´úÂëÒ²ÊÇPython¿ª·¢ÕßѧϰÓëÑо¿µÄ¾ø¼Ñ²ÄÁÏ¡£
ÒÔÏÂÊÇTornadoµÄHello WorldʾÀý³ÌÐò¡£

Ê®ËÄ¡¢webpy: ÇáÁ¿¼¶µÄPython Web¿ò¼Ü
webpyµÄÉè¼ÆÀíÄîÁ¦Ç󾫼ò£¨Keep it simple and powerful£©£¬Ô´ÂëºÜ¼ò¶Ì£¬Ö»Ìṩһ¸ö¿ò¼ÜËù±ØÐëµÄ¶«Î÷£¬²»ÒÀÀµ´óÁ¿µÄµÚÈý·½Ä£¿é£¬ËüûÓÐURL·ÓÉ¡¢Ã»ÓÐÄ£°åҲûÓÐÊý¾Ý¿âµÄ·ÃÎÊ¡£ÕâÑùµÄÓŵãÊÇ£¬
¿ò¼Ü¸ø¿ª·¢´øÀ´µÄÏÞÖÆÉÙ£¬¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÇó½øÐж¨ÖÆ¡£È±µã¾ÍÊÇ£¬ºÜ¶à¶«Î÷¶¼ÐèÒª×Ô¼ºÇ××Ô¶¯ÊÖ¿ª·¢¡£
ËäÈ»webpyµÄ×÷ÕßAaron H.Swartz£¬Ò»Î»Î°´óµÄ³ÌÐòÔ±ÔÚ2013Äê1ÔÂ11ÈÕ×ÔɱÉíÍö£¬½áÊøÁ˶ÌÔݵÄ26ÄêÉúÃü¡£µ«ÊÇ£¬×÷Ϊһ¸ö¿ªÔ´ÏîÄ¿£¬Ä¿Ç°»¹ÊÇÓкܶ࿪·¢ÕßÔÚ³ÖÐø¸üС£
webpy·Ç³£µÄ¼òµ¥£¬Óï·¨¼¸ºõ¸úPythonÒ»Ñù£¬ÒÔÏÂÊÇÒ»¸ö¼òµ¥µÄʾÀý£º

Ê®Îå¡¢Scrapy£ºPythonµÄÅÀ³æ¿ò¼Ü
ÍøÂçÅÀ³æ£¬ÊÇÔÚÍøÉϽøÐÐÊý¾ÝץȡµÄ³ÌÐò£¬Ê¹ÓÃËüÄܹ»×¥È¡Ìض¨ÍøÒ³µÄHTMLÊý¾Ý¡£ËäÈ»ÎÒÃÇÀûÓÃһЩ¿â¿ª·¢Ò»¸öÅÀ³æ³ÌÐò£¬µ«ÊÇʹÓÿò¼Ü¿ÉÒÔ´ó´óÌá¸ßЧÂÊ£¬Ëõ¶Ì¿ª·¢Ê±¼ä¡£ScrapyÊÇÒ»¸öʹÓÃPython±àдµÄ£¬
ÇáÁ¿¼¶µÄ£¬¼òµ¥ÇáÇÉ£¬²¢ÇÒʹÓÃÆðÀ´·Ç³£µÄ·½±ã¡£
ScrapyʹÓÃÁËTwistedÒì²½ÍøÂç¿âÀ´´¦ÀíÍøÂçͨѶ¡£ÕûÌå¼Ü¹¹´óÖÂÈçÏ£¨×¢£ºÍ¼Æ¬À´×Ô»¥ÁªÍø£©£º

ScrapyÖ÷Òª°üÀ¨ÁËÒÔÏÂ×é¼þ£º
1¡¢ÒýÇæ£¬ÓÃÀ´´¦ÀíÕû¸öϵͳµÄÊý¾ÝÁ÷´¦Àí£¬´¥·¢ÊÂÎñ¡£
2¡¢µ÷¶ÈÆ÷£¬ÓÃÀ´½ÓÊÜÒýÇæ·¢¹ýÀ´µÄÇëÇó£¬Ñ¹Èë¶ÓÁÐÖУ¬²¢ÔÚÒýÇæÔÙ´ÎÇëÇóµÄʱºò·µ»Ø¡£
3¡¢ÏÂÔØÆ÷£¬ÓÃÓÚÏÂÔØÍøÒ³ÄÚÈÝ£¬²¢½«ÍøÒ³ÄÚÈÝ·µ»Ø¸øÖ©Öë¡£
4¡¢Ö©Ö룬֩ÖëÊÇÖ÷Òª¸É»îµÄ£¬ÓÃËüÀ´Öƶ©Ìض¨ÓòÃû»òÍøÒ³µÄ½âÎö¹æÔò¡£
5¡¢ÏîÄ¿¹ÜµÀ£¬¸ºÔð´¦ÀíÓÐÖ©Öë´ÓÍøÒ³ÖгéÈ¡µÄÏîÄ¿£¬ËûµÄÖ÷ÒªÈÎÎñÊÇÇåÎú¡¢ÑéÖ¤ºÍ´æ´¢Êý¾Ý¡£µ±Ò³Ãæ±»Ö©Öë½âÎöºó£¬½«±»·¢Ë͵½ÏîÄ¿¹ÜµÀ£¬²¢¾¹ý¼¸¸öÌØ¶¨µÄ´ÎÐò´¦ÀíÊý¾Ý¡£
6¡¢ÏÂÔØÆ÷Öмä¼þ£¬Î»ÓÚScrapyÒýÇæºÍÏÂÔØÆ÷Ö®¼äµÄ¹³×Ó¿ò¼Ü£¬Ö÷ÒªÊÇ´¦ÀíScrapyÒýÇæÓëÏÂÔØÆ÷Ö®¼äµÄÇëÇó¼°ÏìÓ¦¡£
7¡¢Ö©ÖëÖмä¼þ£¬½éÓÚScrapyÒýÇæºÍÖ©ÖëÖ®¼äµÄ¹³×Ó¿ò¼Ü£¬Ö÷Òª¹¤×÷ÊÇ´¦ÀíÖ©ÖëµÄÏìÓ¦ÊäÈëºÍÇëÇóÊä³ö¡£
8¡¢µ÷¶ÈÖмä¼þ£¬½éÓÚScrapyÒýÇæºÍµ÷¶ÈÖ®¼äµÄÖмä¼þ£¬´ÓScrapyÒýÇæ·¢Ë͵½µ÷¶ÈµÄÇëÇóºÍÏìÓ¦¡£
ʹÓÃScrapy¿ÉÒԺܷ½±ãµÄÍê³ÉÍøÉÏÊý¾ÝµÄ²É¼¯¹¤×÷£¬ËüΪÎÒÃÇÍê³ÉÁË´óÁ¿µÄ¹¤×÷£¬¶ø²»ÐèÒª×Ô¼º·Ñ´óÁ¦ÆøÈ¥¿ª·¢¡£ |