2017-06-18 11 views
0

私はPythonとあらゆるタイプのコーディングを始めました...これはあまりにも簡単な質問ではないと思います。Pythonのスクレイプデータからcsvファイルを作成しようとしています

私はウェブからのスクレイプデータからcsvファイルを作成しようとしています。

はAttributeError: '文書型' オブジェクトが何の属性 'find_all'

を持っていません。しかし、このエラーは文句を言わない離れて行きます!

ここで全体のコード

import bs4 as bs 
import urllib.request 


req = urllib.request.Request('http://www.mobygames.com/game/tom-clancys-rainbow-six-siege',headers={'User-Agent': 'Mozilla/5.0'}) 

sauce = urllib.request.urlopen(req).read() 

soup = bs.BeautifulSoup(sauce,'lxml') 

scores = soup.find_all("div") 

filename = "scores1.csv" 
f = open(filename, "w") 

headers = "Hi, Med, Low\n" 

f.write(headers) 

for scores in soup: 
    scoreHi = scores.find_all("div", {"class":"scoreHi"}) 
    Hi = scoreHi[0].text 
    scoreMed = scores.find_all("div", {"class":"scoreMed"}) 
    Med = scoreMed[0].text 
    scoreLow = scores.find_all("div", {"class":"scoreLow"}) 
    Low = scoreLow[0].text 

    print ("Hi: " + Hi) 

    print ("Med: " + Med) 

    print ("Low: "+ Low) 

    f.write(Hi + "," + Med.replace(",","|") + "," + Low + "\n") 


f.close() 
にだ

答えて

0

あなたが最初のスコアに割り当てる:

for score in scores: 
    scoreHi = score.find_all("div", {"class":"scoreHi"}) 
    Hi = scoreHi[0].text 
    scoreMed = score.find_all("div", {"class":"scoreMed"}) 
    Med = scoreMed[0].text 
    scoreLow = score.find_all("div", {"class":"scoreLow"}) 
    Low = scoreLow[0].text 

をしようとしている:罰金ですが、あなたはそれらのスコア上を歩く必要があります

scores = soup.find_all("div") 

Docを繰り返します(soup)。

for scores in soup: 

は意味がありません。

+0

ありがとうございました!どのように私はそれを逃すのか分からない! –

+0

この回答があなたの問題を解決する場合は、回答の横にある✔(チェックマーク)をクリックして*受け入れることを検討してください。これは、コメントを読まずに、あなたの問題が解決されたことを他の人が知る方法です。また、リストの質問とこの回答の外観も変わります。より良い答えが出たら、受け入れられた答えをいつでも変更できます。 – Anthon

関連する問題