2016-07-20 3 views
-3

나는 웹 사이트에서 일부 데이터를 긁어 내기 위해 Python을 사용합니다. 나는 긁는 부분을 처리했지만 필요한 데이터를 추출해야합니다. 여기 RegEx (Python 3.5)를 사용하여 특정 문자열을 추출하는 방법

는 내가 가진 결과의 샘플입니다 :

나는 사이의 모든 데이터를 의미 내 정규식과 일치하는 모든 데이터를 추출 할 필요가
{ 
    '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' 
     } 
    ] 
    } 
} 

: {'property1': and '}]}}

굵은 글씨의 텍스트 데이터의 샘플입니다 내가

필요 { '속성 1'을 '아누-항문 중앙 MGA halimbawa 오 URI NG karunungang 얀'}]}}

+0

이 결과는 무엇입니까? 그것은 텍스트입니까? 파이썬 데이터 구조입니까? – Matthias

+0

그것은 json의 데이터입니다. 결과는 텍스트입니다. –

+0

그래서'json.loads'를 사용하고 싶습니다. – Matthias

답변

3

이 시도 :

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

사이의 데이터를 가져 오는 것입니다. 하나의 문장을 컴파일하는 동안 오류가 발생했습니다. 변경해야합니까? 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] 
관련 문제