2014-06-14 2 views
0

나는 한국어로 쓰여진 특정 텍스트를 얻으려고합니다. 이것을 문자열로 변환하고 거기에서 파싱하는 것보다 효율적인 방법이 있습니까?Python, html에서 특정 텍스트 얻기

CODE :

#input:  url 
#output: name 
def urlSC(url): 
    soup = BeautifulSoup(urllib2.urlopen(url).read()) 
    name = soup.find('span', id = 'lblKName') 

출력 :

<span id="lblKName">구세군앵커리지한인교회<br>The Salvation Army Anch. Korean Corps.</br></span> 

원치 : 구세군 앵커리지 한인 교회

URL : 텍스트의 한국어 부분은 항상 http://www.koreanchurchyp.com/ViewDetail.aspx?OrgID=4102

+1

이 같은 일을 할 것 '기간'중 'ID ='lblKName'' 필요하지 않습니다. –

+0

@PadraicCunningham : 나는 그것을 보지 못했습니다! 감사. –

답변

2

경우 br 태그 앞에있는 첫 번째 부분은 :

name = soup.find(id = 'lblKName').contents[0] 
0

팁 :

  1. BeautifulSoup로는 파일이 HTML 문자열 대,을 처리 할 수 ​​있습니다. 이 방법은 약간 더 간단하며 텍스트가 페이지의 시작 부분에 가까울수록 더 빠를 수도 있습니다.

    soup = BeautifulSoup(urllib2.urlopen(url)) 
    
  2. 또 다른 옵션은 정규 표현식입니다. 그것들은 꽤 빠르지 만 올바르게 빌드하는 것도 어렵습니다. 페이지 형식이 바뀌면 끊어집니다. 네가 붙어 있지 않으면 BeautifulSoup에 붙어.

  3. BeautifulSoup은 공간/시간/신뢰성이 다른 여러 가지 파서 라이브러리를 사용할 수 있습니다. 참조 : http://www.crummy.com/software/BeautifulSoup/bs4/doc/

+0

좋은 조언이 있지만, 질문이 원래 질문에 대한 답변을하지 않습니다. –