2011-09-19 23 views
12

Python için çok yeni. Çok yeni.NameError: name 're' tanımlı değil

Traceback (most recent call last): 
    File "test.py", line 8, in <module> 
    patFinderTitle = re.compile('<title>(.*)</title>') 
NameError: name 're' is not defined 

yanlış yapıyorum: Ben hata alıyorum bir öğretici

#!/usr/bin/python 
import re 
from urllib import urlopen 
from BeautifulSoup import BeautifulSoup 

webpage = urlopen('http://feeds.huffingtonpost.com/huffingtonpost/LatestNews').read 

patFinderTitle = re.compile('<title>(.*)</title>') 

patFinderLink = re.compile('<link rel.*href="(.*)"/>') 

findPatTitle = re.findall(patFinderTitle,webpage) 

findPatLink = re.findall(patFinderLink,webpage) 

listIterator = [] 
listIterator[:] = range(2,16) 

for i in listIterator: 
    print findPatTitle[i] 
    print findPatLink[i] 
    print "\n" 

aşağıdaki kopyalanan?

Düzenleme: import re eklendi ama şimdi şu olsun:

File "/scripts/_prod/test.py", line 13, in <module> 
    findPatTitle = re.findall(patFinderTitle,webpage) 
    File "/usr/lib64/python2.6/re.py", line 177, in findall 
    return _compile(pattern, flags).findall(string) 
TypeError: expected string or buffer 
+0

()'u bıraktığınızdan şüpheleniyorum Hangi öğreticiyi kopyaladınız? Hatalarla doludur. – Johnsyweb

+0

http://www.youtube.com/watch?v=Ap_DlSrT-iE&feature=related –

+0

Ardından, kodunuzu aşağıdaki kodla karşılaştırmalısınız: http://www.newthinktank.com/2010/11/python-2 -7-eğitim-pt-13-web sitesi-kazıma /. Biraz düzeltildikten sonra çalıştığını gördüm. – Johnsyweb

cevap

19

Sen

import re 
re.compile('<title>(.*)</title>') 
+0

teşekkürler. Şimdi başka bir hata alıyorum ... lütfen benim düzenlemelerimi gör –

+3

@ user522962 'web sayfası = urlopen ('http://feeds.huffingtonpost.com/huffingtonpost/LatestNews') .read' olmalıdır web sayfası = urlopen ('http: // feeds.huffingtonpost.com/huffingtonpost/LatestNews'). oku() ' – razpeitia