2016-04-19 8 views
-4

開始コーダーとして、私たちはPythonでスクレイピングツールを使用しています。ほとんど終了しましたが、結果はJSONファイルになります。私たちは試しましたが、うまくいきません。私たちを助けることができるコードヒーローはいますか?PythonスクリプトからJsonファイルを書き込む

from bs4 import BeautifulSoup 
import urllib 

jaren = [str("2010"), str("2012")] 
DESIRED_COLUMNS = {1, 2, 5} # it is a set 

for Jaargetal in jaren: 
    r = urllib.urlopen("http://www.nlverkiezingen.com/TK" + Jaargetal +".html").read() 
    soup = BeautifulSoup(r, "html.parser") 
    tables = soup.find_all("table") 

for table in tables: 
    header = soup.find_all("h1")[0].getText() 
    print header 

    trs = table.find_all("tr")[0].getText() 
    print '\n' 
    for tr in table.find_all("tr")[:22]: 
      print "|".join([x.get_text().replace('\n', '') 
     for index, x in enumerate(tr.find_all('td')) 
     if index in DESIRED_COLUMNS]) 
+3

これは実際のコードですか?あなたは文法と字下げの問題が今あるので。 – idjaw

+0

@idjawコードを更新しました。もうエラーはありません。 – Patrick

+0

まだインデントの問題があります。具体的に 'r = urllib.urlopen(" http://www.nlverkiezingen.com/TK "+ Jaargetal +"。html ")。read()'。 forループには何が必要ですか? 'Jaargetal in Jaren'の下のすべてがそのループの中にあるべきですか?コードが実行中のコードの正確な表現であることを確認する必要があります – idjaw

答えて

0

あなたはそうのようなファイルにJSONを書き込むことができます。

import json 
d = {"foo": "bar"} 
with open("output.json", "w") as f: 
    json.dump(d, f) 
0

json.dumps()機能です。辞書をstrオブジェクトに変換します。 Docs

関連する問題