2016-07-20 10 views
-3

私はPythonを使用してウェブサイトのデータをスクラップしています。私はスクレイピングの部分を完了しましたが、必要なデータを抽出する必要があります。ここでRegEx(Python 3.5)を使用して特定の文字列を抽出する方法

は、私が得た結果のサンプルです:{'property1': and '}]}}

太字のテキストは、データのサンプルです:

{ 
    'thisversionrun': 'Mon Jul 18 2016 10:36:16 GMT+0000 (UTC)', 
    'lastrunstatus': 'success', 
    'name': 'Rudolph1', 
    'version': 3, 
    'count': 30, 
    'newdata': True, 
    'thisversionstatus': 'success', 
    'results': { 
    'collection1': [ 
     { 
     'property1': "Ano ang 'Marginal Thinking' (Ekonomiks)" 
     }, 
     { 
     'property1': 'Saan matatagpuan ang caspian sea ano ang kahalagahan nito' 
     }, 
     { 
     'property1': 'ano-ano ang dalawang uri ng paghahambing ibigay ang kahulugan at ibigay ang 2halimbawa' 
     }, 
     { 
     'property1': 'mga halimbawa ng pantangi at pambalana tao' 
     }, 
     { 
     'property1': '10 halimbawa ng palaisipan pero hindi bugtong?' 
     }, 
     { 
     'property1': 'Ano ang kahinaan at kalakasan ni Psyche at Cupid?' 
     }, 
     { 
     'property1': 'Ano ang kahulugan ng incentives' 
     }, 
     { 
     'property1': 'Ano-ano ang limang tema ng heograpiya at ang kahulugan nito?' 
     }, 
     { 
     'property1': 'ano ang mga kultura ng mga taga-singapore' 
     }, 
     { 
     'property1': 'Buod ng akdang psyche at cupid sa tagalog' 
     }, 
     { 
     'property1': 'Ano ang ibig sabihin ng cañao, anito, bathala, pantas at sugo? :)' 
     }, 
     { 
     'property1': 'Ang Paraan ng Pamumuhay sa Singapore' 
     }, 
     { 
     'property1': 'Ano ang lahing austronesian?' 
     }, 
     { 
     'property1': 'What are usually made of wax?' 
     }, 
     { 
     'property1': 'ano ang kultura at tradisyon ng singapore?' 
     }, 
     { 
     'property1': 'Pwede magbigay ng 10 halimbawa ng tugmang bayan' 
     }, 
     { 
     'property1': 'What takes place when you inhale and exhale?' 
     }, 
     { 
     'property1': 'Anu-ano ang mga halimbawa ng karunungang-bayan' 
     }, 
     { 
     'property1': 'anu ano ang saklaw ng heograpiya' 
     }, 
     { 
     'property1': 'Who hired daedalus?' 
     }, 
     { 
     'property1': 'Kahalagahan ng ekonomiks bilang mag aaral, parte ng pamilya at sa lipunan' 
     }, 
     { 
     'property1': 'Ano ang pang abay at 5 halimbawa ng pang abay' 
     }, 
     { 
     'property1': 'What does each part of the bunch of grapes model represent in relation to the breathing system?' 
     }, 
     { 
     'property1': 'kahulugan ng alaala ng isang lasing na suntok sa bibig' 
     }, 
     { 
     'property1': 'Ano ang kahulugan ng makabanghay' 
     }, 
     { 
     'property1': 'Ano ano ang mga tuntunin at kayarian ng talata. ?' 
     }, 
     { 
     'property1': 'Ano ang kahulugan ng heograpiya' 
     }, 
     { 
     'property1': 'halimbawa ng recipe para sa matiwasay na lipunan' 
     }, 
     { 
     'property1': 'How will you describe the pathway of oxygen in the breathing system?' 
     }, 
     { 
     'property1': 'Anu-ano ang mga halimbawa o uri ng karunungang bayan' 
     } 
    ] 
    } 
} 

は私が間のすべてのデータを意味し、私の正規表現に一致するすべてのデータを抽出する必要があります私は

必要{ 'プロパティ1を': 'アヌ、あのANG MGA halimbawa O URI NG karunungangバヤン'}]}}

+0

この結果は何ですか?それはテキストですか?それはPythonのデータ構造ですか? – Matthias

+0

これはjsonのデータです。結果はテキスト –

+0

ですので、 'json.loads'を使いたいとします。 – Matthias

答えて

3

これを試してみてください:

data = re.findall(r'(?is)property1\':\s*\'(.*?)\'\}',str(input_text)) 
print(data) 
+0

1つのステートメントをコンパイルするときに複数のステートメントが見つかりました 変更が必要ですか私が使用したものにstr(input_text)を挿入しますか? –

+0

はい!あなたはjsonデータを保持する変数名を渡す必要があります –

+0

ありがとう!出来た! –

1

はこれを試してみてください:

# encoding: utf-8 
import re 
scrappedString = """{'thisversionrun': 'Mon Jul 18 2016 10:36:16 GMT+0000 (UTC)', 'lastrunstatus': 'success', 'name': 'Rudolph1', 'version': 3, 'count': 30, 'newdata': True, 'thisversionstatus': 'success', 'results': {'collection1': [{'property1': "Ano ang 'Marginal Thinking' (Ekonomiks)"}, {'property1': 'Saan matatagpuan ang caspian sea ano ang kahalagahan nito'}, {'property1': 'ano-ano ang dalawang uri ng paghahambing ibigay ang kahulugan at ibigay ang 2halimbawa'}, {'property1': 'mga halimbawa ng pantangi at pambalana tao'}, {'property1': '10 halimbawa ng palaisipan pero hindi bugtong?'}, {'property1': 'Ano ang kahinaan at kalakasan ni Psyche at Cupid?'}, {'property1': 'Ano ang kahulugan ng incentives'}, {'property1': 'Ano-ano ang limang tema ng heograpiya at ang kahulugan nito?'}, {'property1': 'ano ang mga kultura ng mga taga-singapore'}, {'property1': 'Buod ng akdang psyche at cupid sa tagalog'}, {'property1': 'Ano ang ibig sabihin ng cañao, anito, bathala, pantas at sugo? :)'}, {'property1': 'Ang Paraan ng Pamumuhay sa Singapore'}, {'property1': 'Ano ang lahing austronesian?'}, {'property1': 'What are usually made of wax?'}, {'property1': 'ano ang kultura at tradisyon ng singapore?'}, {'property1': 'Pwede magbigay ng 10 halimbawa ng tugmang bayan'}, {'property1': 'What takes place when you inhale and exhale?'}, {'property1': 'Anu-ano ang mga halimbawa ng karunungang-bayan'}, {'property1': 'anu ano ang saklaw ng heograpiya'}, {'property1': 'Who hired daedalus?'}, {'property1': 'Kahalagahan ng ekonomiks bilang mag aaral, parte ng pamilya at sa lipunan'}, {'property1': 'Ano ang pang abay at 5 halimbawa ng pang abay'}, {'property1': 'What does each part of the bunch of grapes model represent in relation to the breathing system?'}, {'property1': 'kahulugan ng alaala ng isang lasing na suntok sa bibig'}, {'property1': 'Ano ang kahulugan ng makabanghay'}, {'property1': 'Ano ano ang mga tuntunin at kayarian ng talata. ?'}, {'property1': 'Ano ang kahulugan ng heograpiya'}, {'property1': 'halimbawa ng recipe para sa matiwasay na lipunan'}, {'property1': 'How will you describe the pathway of oxygen in the breathing system?'}, {'property1': 'Anu-ano ang mga halimbawa o uri ng karunungang bayan'}]}} 
""" 
regex = """'property1': ('|")([\w\d\ñ\.\-\,\?\'\(\) ]+)("|')""" 
searchedItems = re.findall(pattern=regex, string=scrappedString) 
for item in searchedItems: 
    print item[1] 
関連する問題