2016-07-20 13 views
-3

Ich benutze Python, um einige Daten in einer Website zu kratzen. Ich habe den Scraping-Teil fertig, aber ich muss die Daten extrahieren, die ich brauche.So extrahieren Sie eine bestimmte Zeichenfolge mit RegEx (Python 3.5)

Hier ist eine Probe der Ergebnisse, die ich habe:

{ 
    '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' 
     } 
    ] 
    } 
} 

Ich möchte alle Daten extrahieren meine RegEx passend, die alle Daten zwischen bedeutet: {'property1': and '}]}}

der fett gedruckte Text ist ein Beispiel für die Daten ich brauche

{ 'property1': 'Anu-ano ang mga halimbawa o uri ng karunungang Bajan'}]}}

+0

Was ist das Ergebnis? Ist es ein Text? Ist es eine Python-Datenstruktur? – Matthias

+0

es ist eine Daten von JSON. Die Ergebnisse sind Texte –

+0

Sie wollen also 'json.loads' verwenden. – Matthias

Antwort

3

Try this:

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

zu bekommen. Es funktioniert, aber es gibt einen Fehler mehrere Anweisungen während der Erstellung einer einzigen Anweisung Muss ich ändern str (Eingabetext) in den, den ich benutzt habe? –

+0

ja! Sie müssen Ihren Variablennamen übergeben, der JSON-Daten enthält –

+0

Danke! Es funktionierte! –

1

Try this:

# 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] 
Verwandte Themen