2015-08-09 78 views
0

所以我刮的網站,並試圖輸出這些span標籤之間到底是(這將取決於我湊什麼網址更改)Python 2.7版解析正則表達式

<span class="inviter-name">tickzapman12345</span> 


import urllib2 
import re 

url = "http://beta.cursevoice.com/join/jt95" 
req = urllib2.Request(url) 
req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox') 


response = urllib2.urlopen(req) 

matchObj = re.search(r'<span class="inviter-name">(.*?)</span>',str(response)) 

f = open('output.txt','w') 
f.write(str(matchObj)) 
f.close() 

然而,當我檢查輸出文件,它只是說「無」,是我的正則表達式的錯誤?

+0

'matchObj = re.search(R '<跨度類= 「邀請者名」>(。*?)',STR(響應))。組() ' –

+0

AttributeError:'NoneType'對象沒有屬性'group' –

回答

1

您可以使用BeautifulSoup分析器而不是正則表達式。

>>> from bs4 import BeautifulSoup 
>>> s = '<span class="inviter-name">tickzapman12345</span>' 
>>> soup = BeautifulSoup(s) 
>>> soup.select('span.inviter-name')[0].text 
'tickzapman12345' 

matchObj = re.search(r'<span class="inviter-name">(.*?)</span>',response.read()) 
f = open('output.txt','w') 
f.write(matchObj.group(1)) 
f.close() 
+0

我想使用正則表達式;我覺得我的代碼應該工作 –

+0

'response'變量的價值是什麼? –

+0

>」 –