¶þ½øÖÆÎļþÏÂÔØµØÖ·£º
SinaGetBook
Ч¹ûÈçͼ£º
´úÂ룺
#!/usr/bin/env python
#coding=utf-8
#!/usr/bin/env python
#coding=utf-8
import traceback
import sys
import wx
import re
import urllib
import wx.richtext as rt
import wx.lib.buttonpanel as bp
import Casing
import Debug
def trace_back():
try:
return traceback.print_exc()
except:
return ''
class Window(wx.Frame):
def __init__(self):
sys.setdefaultencoding("utf-8")
wx.Frame.__init__(self,None,-1,u'ÐÂÀËÍøÍ¼Ê鯵µÀץȡ¹¤¾ß',pos=wx.Point(0, 0),size=(800,620))
l1 = wx.StaticText(self, -1, u"Ŀ¼URL£º")
self.t1 = wx.TextCtrl(self, -1, "http://vip.book.sina.com.cn/book/?book=27633", size=(500, -1))
l2 = wx.StaticText(self, -1, u"ÄÚÈÝURLǰ׺£º")
self.t2 = wx.TextCtrl(self, -1, "http://vip.book.sina.com.cn/book/", size=(500, -1))
l3 = wx.StaticText(self, -1, u"Ìæ»»µÄÄÚÈÝ£º")
self.t3 = wx.TextCtrl(self, -1,
......
$ ×Ö·û´®µÄĩβ
^ ×Ö·û´®µÄ¿ªÊ¼
\b ×Ö·ûµÄ±ß½ç
ǰ׺t ×Ö·û´®Öеķ´Ð±Ïߣ¨ËùÓÐ×Ö·û£©²»×ªÒå
? ¿ÉÑ¡µØÆ¥Åä(λÓÚ֮ǰµÄ)µ¥¸ö×Ö·û
() ¸Ä±äÓÅÏȼ¶£¬×÷Ϊһ¸öÕûÌ壬һ¸ö×é
| »òÕß
(A|B) ¾«È·Æ¥ÅäA»òBÖеÄÒ»¸ö
{n,m} Æ¥Å䣨λÓÚ֮ǰµÄ×Ö·û£©nµ½m´Î
VERBOSE ËÉÉ¢ÕýÔò±í´ïʽ(re.VERBOSE)³£Á¿£¬ºöÂÔ¿Õ¸ñ»»Ðеȣ¬¿ÉÓÃ#×÷×¢ÊÍ
{n} ¾«È·Æ¥Åän´Î
\d Ê®½øÖÆ×Ö·û£¬£¨0-9ÖеÄÒ»¸ö£©
\D ÈÎÒⲻΪʮ½øÖÆ×Ö·ûµÄ×Ö·û£¬Îª\dÈ¡·´
+ 1´Î»òÕßÈÎÒâ¶à´Î£¨´óÓÚ0¾ÍÐУ©
* 0´Î»òÕßÈÎÒâ¶à´Î ......
#---------------------תתתתתתתתתתתתתתתתתתתתתתת-------------------------------------------#
Python×÷ΪһÖÖ¹¦ÄÜÇ¿´óÇÒͨÓõıà³ÌÓïÑÔ¶ø¹ãÊÜºÃÆÀ£¬Ëü¾ßÓзdz£ÇåÎúµÄÓï·¨ÌØµã£¬ÊÊÓÃÓÚ¶àÖÖ²Ù×÷ϵͳ£¬Ä¿Ç°ÔÚ¹ú¼ÊÉϷdz£Á÷ÐУ¬ÕýÔڵõ½Ô½À´Ô½¶àµÄÓ¦Óá£
¡¡¡¡ÏÂÃæ¾ÍÈÃÎÒÃÇÒ»ÆðÀ´¿´¿´ËüµÄÇ¿´ó¹¦ÄÜ£º
¡¡¡¡Python£¨ÅÉÉ£©£¬ËüÊÇÒ»¸ö¼òµ¥µÄ¡¢½âÊÍÐ͵ġ¢½»»¥Ê½µÄ¡¢¿ÉÒÆÖ²µÄ¡¢ÃæÏò¶ÔÏóµÄ³¬¸ß¼¶ÓïÑÔ¡£Õâ¾ÍÊǶÔPythonÓïÑÔµÄ×î¼òµ¥µÄÃèÊö¡£
¡¡
¡¡PythonÓÐÒ»¸ö½»»¥Ê½µÄ¿ª·¢»·¾³£¬ÒòΪPythonÊǽâÊÍÔËÐУ¬Õâ´ó´ó½ÚÊ¡ÁËÿ´Î±àÒëµÄʱ¼ä¡£PythonÓï·¨¼òµ¥£¬ÇÒÄÚÖÃÓм¸Öָ߼¶Êý¾Ý½á¹¹£¬Èç
×ֵ䡢ÁбíµÈ£¬Ê¹µÃʹÓÃÆðÀ´Ìرð¼òµ¥£¬³ÌÐòÔ±Ò»¸öÏÂÎç¾Í¿Éѧ»á£¬Ò»°ãÈËÔ±Ò»ÖÜÄÚÒ²¿ÉÕÆÎÕ¡£Python¾ßÓд󲿷ÖÃæÏò¶ÔÏóÓïÑÔµÄÌØÕ÷£¬¿ÉÍêÈ«½øÐÐÃæÏò¶ÔÏó
±à³Ì¡£Ëü¿ÉÒÔÔÚMS-DOS¡¢Windows¡¢Windows
NT¡¢Linux¡¢Soloris¡¢Amiga¡¢BeOS¡¢OS/2¡¢VMS¡¢QNXµÈ¶àÖÖOSÉÏÔËÐС£
¡¡¡¡±à³ÌÓïÑÔ
¡¡
¡¡PythonÓïÑÔ¿ÉÒÔÓÃÀ´×÷ΪÅú´¦ÀíÓïÑÔ£¬Ð´Ò»Ð©¼òµ¥¹¤¾ß£¬´¦ÀíЩÊý¾Ý£¬×÷ΪÆäËûÈí¼þµÄ½Ó¿Úµ÷ÊԵȡ£PythonÓïÑÔ¿ÉÒÔÓÃÀ´×÷Ϊº¯ÊýÓïÑÔ£¬½øÐÐÈ˹¤ÖÇ
ÄܳÌÐòµÄ¿ª·¢£¬¾ßÓÐLispÓïÑԵĴ󲿷ֹ¦ÄÜ¡ ......
żȻÐèÒªÓõ½ÕâÑùÒ»¸öº¯Êý£¬ÔÚDelphiÖУ¬ÓÐÏֳɵĺ¯Êý¿ÉÒÔµ÷Óã¡ÔÚpythonÖУ¬ÎÒÕÒÁ˰ëÌì¶¼»¹Ã»ÕÒµ½£¬×îºó×Ô¼ºÐ´ÁËÒ»¸öº¯ÊýÈçÏ£º
def dayOfMonth(date):
if date.month == 12:
return 31
else:
return (date.replace(month=date.month+1, day=1) - datetime.timedelta(days=1)).day
ºóÀ´ÔÚ¹úÍâÍøÕ¾ÉÏ£¬Å¼È»·¢ÏÖÁËÒ»¸ö˵Ã÷£¬·¢ÏÖ£¬ÔÀ´£¬pythonÖл¹ÊÇ´øÓÐÕâÑùµÄº¯ÊýµÄ£¡
monthrange(year, month)
Returns weekday of first day of the month and number of days in month, for the specified year and month.
Õâ¸öº¯Êý¾ÍÊÇ£¬·µ»ØÐÇÆÚµÄÊýÁ¿ºÍ±¾ÔµÄÌìÊý£¬ÐèÒªÒýÓÃcalendar
>>>
import
calendar
>>>
calendar
.
monthrange
(
2002
,
1
)
(
1
,
31
)
>>>
calendar
.
monthrange
(
2008
,
2
)
(
4
,
29
)
>>>
calendar
.
monthrange
(
2100
,
2
)
(
0
,
28
)
......
¼Ìǰƪ¡¶Import Module¡·£¨http://blog.csdn.net/xiadasong007/archive/2009/09/02/4512797.aspx£©£¬¼ÌÐø·ÖÎöǶÈ벿·Ö»ù´¡ÖªÊ¶¡£Õâ´Î²»¶à˵£¬ÓÐʲôÎÊÌâ¼ÇµÃ¶à²éÓ¢ÎÄ×ÊÁÏ£¬¹úÄÚµÄÕâ·½ÃæÖªÊ¶ÉÙ
»¹ÊÇÀ´¿´´úÂ룬дÍêÎÒ¾Í˯¾õÁË~
#include "python/python.h"
#include <iostream>
using namespace std;
int main(int argc,char** argv)
{
PyObject *pModule, *pClass,*pStuObj,*pFunc;
Py_Initialize();
////////////////
//ÔØÈëÄ£¿éstu.py
pModule = PyImport_ImportModule ("stu");
//´ÓÄ£¿éÖеõ½ÀàStudent
pClass = PyObject_GetAttrString (pModule, "Student");
//Éú³ÉÒ»¸öѧÉú¶ÔÏójack,×¢Òâ3.1°æ±¾±ØÐë¼ÓÉÏСÀ¨ºÅ£º(s)£¬·ñÔò»á³ö´í
//PyObject_CallObjectºÍÁíÍâÒ»¸ö³£ÓõÄPyEval_CallObjectÓ÷¨¼«ÎªÏà½ü£¬Çë¿´¸½Â¼²¿·ÖÏê½â
PyObject * temp=Py_BuildValue("(s)","jack");
pStuObj = PyObject_CallObject(pClass, temp);
//»ñµÃº¯Êý¶ÔÏójackÖеijÉÔ±º¯ÊýprintName£¬
//Õâ¸ögetattrµÄÒâ˼¾ÍÊǵõ½µ±Ç°¶ÔÏóµÄÊôÐÔ£¨²»Òª¾ÖÏÞÓÚ ......
¼Ìǰƪ¡¶Import Module¡·£¨http://blog.csdn.net/xiadasong007/archive/2009/09/02/4512797.aspx£©£¬¼ÌÐø·ÖÎöǶÈ벿·Ö»ù´¡ÖªÊ¶¡£Õâ´Î²»¶à˵£¬ÓÐʲôÎÊÌâ¼ÇµÃ¶à²éÓ¢ÎÄ×ÊÁÏ£¬¹úÄÚµÄÕâ·½ÃæÖªÊ¶ÉÙ
»¹ÊÇÀ´¿´´úÂ룬дÍêÎÒ¾Í˯¾õÁË~
#include "python/python.h"
#include <iostream>
using namespace std;
int main(int argc,char** argv)
{
PyObject *pModule, *pClass,*pStuObj,*pFunc;
Py_Initialize();
////////////////
//ÔØÈëÄ£¿éstu.py
pModule = PyImport_ImportModule ("stu");
//´ÓÄ£¿éÖеõ½ÀàStudent
pClass = PyObject_GetAttrString (pModule, "Student");
//Éú³ÉÒ»¸öѧÉú¶ÔÏójack,×¢Òâ3.1°æ±¾±ØÐë¼ÓÉÏСÀ¨ºÅ£º(s)£¬·ñÔò»á³ö´í
//PyObject_CallObjectºÍÁíÍâÒ»¸ö³£ÓõÄPyEval_CallObjectÓ÷¨¼«ÎªÏà½ü£¬Çë¿´¸½Â¼²¿·ÖÏê½â
PyObject * temp=Py_BuildValue("(s)","jack");
pStuObj = PyObject_CallObject(pClass, temp);
//»ñµÃº¯Êý¶ÔÏójackÖеijÉÔ±º¯ÊýprintName£¬
//Õâ¸ögetattrµÄÒâ˼¾ÍÊǵõ½µ±Ç°¶ÔÏóµÄÊôÐÔ£¨²»Òª¾ÖÏÞÓÚ ......
¸Õ¸ÕдÍêPythonǶÈ벿·ÖµÄ¼òµ¥Àý×Ó£¨²î²»¶à¹»ÏÖÔÚÓõÄÀ²~£©£¬½Ó×Å¿´µãʵ¼ÊµÄ¶«Î÷£¬Èç¹ûûÓÐÕâЩӦÓõϰ£¬Ç°ÃæµÄǶÈëҲûÓÐʲôÒâÒ塣ǶÈëµÄÆäËû²¿·ÖÒÔºóÓöµ½ÔÙд£¬²»±ØÒ»ÏÂ×Ó°ÑÄÇЩº¯Êý¶¼Åª¶®£¬ÊǰÉ~
OK£¬À´¿´Python¿âÖÐÎÒÈÏΪ×îºÃÍæµÄÒ»²¿·Ö£¬Ò²¾ÍÊÇPython¶ÔÍøÒ³µÄ²Ù×÷¡£
ÕâÆª¼òµ¥ËµÏÂÈçºÎͨ¹ýÍøÖ·ÏÂÔØÍøÒ³£¬Ç°ÌᵱȻÊÇÒªÄÜÉÏÍø¡£
ÎÒÕâÀïÊǽ«ÍøÒ×µÄÍøÒ³ÏÂÏÂÀ´±£´æÔÚtest.htmlÎļþÖС£
ÏÂÔØÍøÒ³Ö»ÐèÒª2ÐдúÂ룺
#×¢ÒâÏÖÔÚpython3.1°æ±¾ÓëÒÔǰÓÐÁ˺ܴó±ä»¯£¬¹ýÈ¥´úÂëºÃ¶à²»ÄÜÓã¬ÐèÒªÉÔ΢ÐÞ¸ÄÏÂŶ
import urllib.request
urllib.request.urlretrieve('http://www.163.com','test.html') #ÄãÃÇÓÃË«ÒýºÅÊÔÏ£¬ÎÒÕâÔõôÓÐÎÊÌ⣿µ¥ÒýºÅºÍË«ÒýºÅÔÚÕâÀïÓÐÇø±ðô£¿
ºÇºÇ£¬²»ÊǾõµÃÌ«¼òµ¥Á˵㣬µ«ÎÒ»¹ÊDZȽÏϲ»¶ÏÂÃæ´úÂë¶àµãµÄʵÏÖ·½Ê½£¨ÎÒûÓÐÌí¼ÓÒì³££¬Èç¹ûÊÇÉÔ΢ÕýʽµãµÄ±àÂ룬ÇëÌíЩ´¦ÀíÒì³£µÄ´úÂë°É£©£º
import urllib
import urllib.request
url=urllib.request.urlopen("http://www.163.com")
file=open("test.html",'wb') #it's 'wb',not 'w'
while(1):
line=url.readline()
......