Python 2.4.3 (#1,May 5 2011,16:39:10)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help","copyright","credits" or "license" for more information.
>;>>
[root@~]#
下载新版本的python
[root@~]# wget
解压缩 以及编译
[root@~]# tar jxvf Python-2.7.3.tar.bz2[root@wangyuelou Python-2.7.2]# ./configure --prefix=/usr/local/python27
[root@wangyuelou Python-2.7.2]# make
[root@wangyuelou Python-2.7.2]# make install
[root@wangyuelou Python-2.7.2]# ls /usr/local/python27/ -al
total 28
drwxr-xr-x 6 root root 4096 Jul 14 00:21 .
drwxr-xr-x 20 root root 4096 Jul 14 00:17 ..
drwxr-xr-x 2 root root 4096 Jul 14 00:21 bin
drwxr-xr-x 3 root root 4096 Jul 14 00:21 include
drwxr-xr-x 4 root root 4096 Jul 14 00:21 lib
drwxr-xr-x 3 root root 4096 Jul 14 00:21 share
覆盖原来的python链接
[root@wangyuelou Python-2.7.2]# mv /usr/bin/python /usr/bin/python_old[root@wangyuelou Python-2.7.2]# ln -s /usr/local/python27/bin/python /usr/bin/
[root@wangyuelou Python-2.7.2]# python
Python 2.7.2 (default,Jul 14 2011,00:20:14)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help","credits" or "license" for more information.
>>>
此处已经可以正常使用python2.7了
但是因为yum是使用的2.4的版本来用的,所以 还需要修改一下
[root@~]# yumThere was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provIDes this module,or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python,which is:
2.7.2 (default,00:20:14)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]
If you cannot solve this problem yourself,please go to
the yum faq at:
[root@wangyuelou Python-2.7.2]# vim /usr/bin/yum
#!/usr/bin/python #修改此处为2.4的位置
[root@~]# vim /usr/bin/yum
#!/usr/bin/python2.4
[root@~]# yum
Loaded plugins: fastestmirror
You need to give some command
usage: yum [options] COMMAND
List of Commands:
check-update Check for available package updates
clean Remove cached data
depList List a package's dependencIEs
downgrade downgrade a package
erase Remove a package or packages from your system
groupinfo display details about a package group
groupinstall Install the packages in a group on your system
groupList List available package groups
groupremove Remove the packages in a group from your system
help display a helpful usage message
info display details about a package or group of packages
install Install a package or packages on your system
List List a package or groups of packages
localinstall Install a local RPM
yum 又可以使用了)
# Process the JsON string.
results = simpleJson.load(response)
# Now have some fun with the results...
实际应用中可能需要抓取Google的很多网页,所以还需要使用多线程来分担抓取任务。使用Google web search API的参考详细介绍,请看此处(这里介绍了Standard URL Arguments)。另外要特别注意,url中参数rsz必须是8(包括8)以下的值,若大于8,会报错的!
(3)代码实现
代码实现还存在问题,但是能够运行,鲁棒性差,还需要进行改进,希望各路大神指出错误(初学Python),不胜感激。
python代码如下:#-*-Coding:utf-8-*-import urllib2,urllibimport simpleJsonimport os,time,threadingimport common,HTML_filter#input the keywordskeywords = raw_input('Enter the keywords: ')#define rnum_perpage,pagesrnum_perpage=8pages=8#定义线程函数def thread_scratch(url,rnum_perpage,page):url_set = []try:request = urllib2.Request(url,None,{'Referer': 'http://www.sina.com'})response = urllib2.urlopen(request)# Process the JsON string.results = simpleJson.load(response)info = results['responseData']['results']except Exception,e:print 'error occured'print eelse:for minfo in info:url_set.append(minfo['url'])print minfo['url']#处理链接i = 0for u in url_set:try:request_url = urllib2.Request(u,{'Referer': 'http://www.sina.com'})request_url.add_header('User-agent','CSC')response_data = urllib2.urlopen(request_url).read()#过滤文件#content_data = HTML_filter.filter_Tags(response_data)#写入文件filenum = i+pagefilename = dir_name+'/related_HTML_'+str(filenum)print ' write start: related_HTML_'+str(filenum)f = open(filename,'w+',-1)f.write(response_data)#print content_dataf.close()print ' write down: related_HTML_'+str(filenum)except Exception,e:print 'error occured 2'print ei = i+1return#创建文件夹dir_name = 'related_HTML_'+urllib.quote(keywords)if os.path.exists(dir_name):print 'exists file'common.delete_dir_or_file(dir_name)os.makedirs(dir_name)#抓取网页print 'start to scratch web pages:'for x in range(pages):print "page:%s"%(x+1)page = x * rnum_perpageurl = ('https://AJAX.GoogleAPIs.com/AJAX/services/search/web''?v=1.0&q=%s&rsz=%s&start=%s') % (urllib.quote(keywords),page)print urlt = threading.Thread(target=thread_scratch,args=(url,page))t.start()#主线程等待子线程抓取完main_thread = threading.currentThread()for t in threading.enumerate():if t is main_thread:continuet.join()# 来自jb51.cc
总结 以上是内存溢出为你收集整理的python2.4升级2.7.2入门实例全部内容,希望文章能够帮你解决python2.4升级2.7.2入门实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)