2014-09-09 3 views
1

뉴스 웹 페이지에서 단락의 내용 (텍스트로 가득)을 추출하고 싶습니다. 단락. 아래 코드를 사용하면 전체 HTML 페이지를 제공합니다.
다음은 전체 HTML 페이지를 출력 print p.read() 라인을 가지고 있기 때문입니다 내 코드단락에서 내용을 (텍스트로 가득) 아름다운 수프

import urllib2 
import urllib 
from cookielib import CookieJar 
from bs4 import BeautifulSoup 
cj = CookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
p = opener.open("http://www.nytimes.com/2014/09/09/world/europe/turkey-is-courted-by-us-to-help-   fight-isis.html?module=Search&mabReward=relbias%3Aw%2C%7B%222%22%3A%22RI%3A18%22%7D&_r=0") 
print p.read() 
soup = BeautifulSoup(p) 
content = soup.find('p', attrs= {'class' : 'story-body-text story-content'}) 
print content 

답변

2

입니다.

기사 텍스트를 얻으려면 id으로 찾은 다음 기사 안의 모든 단락을 찾으십시오. CSS Selector를 사용

예 :

soup = BeautifulSoup(p) 
print ''.join(p.text for p in soup.select('article#story p.story-content')) 

인쇄합니다 :

ANKARA, Turkey — The Obama administration on Monday began the work of trying to determine 
... 

참고로, article#story p.story-contentstory ID를 가진 article 태그 내부 story-content 클래스가 모든 p 태그를 일치합니다.

+0

IDE에서 잘 인쇄되지 않는 경우 p.text.encode ('utf-8'). –

관련 문제