2014-12-07 62 views
0

我正在另一台服务器上相同的脚本,它运行良好,但在新的服务器出现问题。是否因为新服务器中的python版本过时?旧版本是Python Python 2.7.3,新的服务器有Python 2.6.6?Python代码在旧版本的python中有错误?

一个错误就是这个Error was 'NoneType' object has no attribute 'get_text'的代码如下

#Area 
    try: 
     area= soup.find('div', 'location') 
     result= str(area.get_text().strip().encode("utf-8")) 
     # print([area_result]) 
     area_result=cleanup(result).split('>')[2].split(";")[0] 
     nearby_result=cleanup(result).split('>')[2].split(";")[1] 
     # nearby_result=cleanup(area_result).split('>') 
     print "Area : ",area_result 
     print "Nearby: ",nearby_result 

     # print "Nearby : ",nearby_result 

    except StandardError as e: 
     area_result="Error was {0}".format(e) 
     print area_result 
+0

大概不会。看起来你的代码有缺陷,并且在新的服务器上,一些对象没有被加载或设置,在你的代码需要一个对象的时候,你会得到一个None引用。 – 2014-12-07 17:01:28

+0

相同的代码在其他服务器上运行良好 – Newbie 2014-12-07 17:09:34

+0

那么,另一台服务器肯定有一个完全不同的环境。 *可能* 2.6和2.7之间的差异导致一个对象在你认为它不在的地方被实例化,但是它更可能是这两个环境之间的不同。向我们展示代码 - 引发错误的行,以及对象应该实例化的行。 – 2014-12-07 17:11:28

回答

0

的问题是,你认为这是找到一个名为位置DIV的一个实例soup.find将返回无。这很可能是由于您没有相同的文件进行操作,或者可能使文件位于与您想象的位置不同的位置。假设成功,你的代码应该检查soup.find的结果。

这里有一个版本的可能性但这更可能是输入不同。你有没有检查两个系统上安装了哪种版本的美味汤(我认为这就是soup引用的内容)。

+0

美丽的汤是相同的(4.3.2),但是Python版本不同 – Newbie 2014-12-07 17:28:47

+0

你在哪里得到的输入'soup'?从网站或文件?在两台服务器上检查进入*汤的内容。这可能不是相同的内容。 – 2014-12-07 17:30:48

+0

http://dubai.dubizzle.com/property-for-sale/residential/apartment/这是网站 – Newbie 2014-12-07 17:33:17