2017-02-24 3 views
1

파이썬 배열에 HTML 페이지에서 데이터를 가져 오기 :난 그냥이 같은 웹 페이지에서 일부 데이터를 얻으려고

: 나는 하나 다음과 같은 파이썬 배열을하고 싶은
[ . . . ] 

<p class="special-large">Lorem Ipsum 01</p> 
<p class="special-large">Lorem Ipsum 02</p> 
<p class="special-large">Lorem Ipsum 03</p> 
<p class="special-large">Lorem Ipsum 04</p> 
<p class="special-large">Lorem Ipsum 05</p> 

[ . . . ] 

myArrayWebPage = ["Lorem Ipsum 01","Lorem Ipsum 02","Lorem Ipsum 03","Lorem Ipsum 04","Lorem Ipsum 05"] 

이 내 파이썬 스크립트입니다

import urllib.request 

urlAddress = "http:// ... /" # my url address 
getPage = urllib.request.urlopen(urlAddress) 
outputPage = getPage.read() 
print(outputPage) 

가 어떻게 "outputPage"에서 배열을 얻을 수 있나요?

답변

1

이것은 당신이 원하는 일을 할 나타납니다

Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32 
Type "copyright", "credits" or "license()" for more information. 
>>> html = '''<p class="special-large">Lorem Ipsum 01</p> 
<p class="special-large">Lorem Ipsum 02</p> 
<p class="special-large">Lorem Ipsum 03</p> 
<p class="special-large">Lorem Ipsum 04</p> 
<p class="special-large">Lorem Ipsum 05</p>''' 
>>> import re 
>>> re.findall('<p class="special-large">([^<]+)</p>', html) 
['Lorem Ipsum 01', 'Lorem Ipsum 02', 'Lorem Ipsum 03', 'Lorem Ipsum 04', 'Lorem Ipsum 05'] 
>>> 

regular expressions 일반적으로 이런 일을 위해 바람직하지 않다 있습니다. 대신 Beautiful Soup과 같은 라이브러리를 사용해야합니다.

+0

감사합니다. "정규식"이 무슨 뜻인지 물어볼 수 있습니까? –

+0

지금 용어를 클릭하면 위키 백과 문서가 표시됩니다. 다음 번에 Google에서 익숙하지 않은 용어를 검색해보십시오. –

+0

@JoeHunter 정규식이 HTML 구문 분석에 충분하지 않은 이유에 대해 격렬하게 재미있는 답변을 읽어주십시오. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained- 태그들 –