2016-11-29 11 views
0
BS4インポートBeautifulSoup インポート

エラー2.7

SUMT = 0

HTML = urllib.urlopen( 'http://python-data.dr-chuck.net/comments_338391.html').read()

スープから urllibは

インポート= BeautifulSoup(HTML)

タグ=タグでLNEのためのスープ( 'スパン')

: LNE =のSTR(LNE) データ= re.findall( '[0-9] +'、LNE) データ[0] = INT(データ[0]) SUMT = SUMT + DATA [0]

印刷SUMT

エラー:

IOError: [Errno socket error] [Errno 11004] getaddrinfo failed 
+0

["getaddrinfo failed"の可能な複製は、それはどういう意味ですか?](http://stackoverflow.com/questions/7334199/getaddrinfo-failed-what-does-that-mean) – Tzach

答えて

1

urllib.urlopenは廃止されていることに注意してください。 urllib2.urlopenを使用してください。

いずれにしても、両方のバージョンがうまく動作します。

import urllib2 
import re 

if __name__ == '__main__': 
    url = 'http://python-data.dr-chuck.net/comments_338391.html' 
    comments = {} 
    pattern = re.compile('<tr><td>(?P<name>.+?)</td>.+?class="comments">(?P<count>\d+)</span>.+?') 
    for line in urllib2.urlopen(url).read().split('\n'): 
     m = pattern.match(line) 
     if m: 
      comments[m.group('name')] = int(m.group('count')) 
    print(comments) 

収量:私の作品:

{'Caidan': 28, 'Haylie': 59, 'Fikret': 43, 'Tabbitha': 54, 'Rybecca': 70, 'Pearl': 45, 'Kiri': 72, 'Storm': 66, 'Kelum': 55, 'Elisau': 30, 'Lexi': 70, 'Cobain': 2, 'Theodore': 36, 'Ammer': 26, 'Carris': 87, 'Fion': 10, 'Derick': 28, 'Shalamar': 98, 'Adil': 93, 'Wasif': 54, 'Yasin': 78, 'Mhyren': 92, 'Kodi': 75, 'Nikela': 98, 'Lorena': 76, 'Seth': 68, 'Lillia': 91, 'Nitya': 26, 'Tigan': 73, 'Jaii': 11, 'Kamran': 74, 'Arianna': 12, 'Mercedes': 92, 'Gregory': 40, 'Umaima': 83, 'Rhylee': 26, 'Kaia': 91, 'Hamid': 33, 'Lucien': 5, 'Zacharias': 92, 'Abir': 35, 'Teejay': 51, 'Muir': 43, 'Hena': 84, 'Alanas': 16, 'Lybi': 91, 'Atiya': 87, 'Kayleb': 7, 'Fletcher': 87, 'Lisandro': 78}

すなわち。

関連する問題