2012-05-13 5 views
1

저는 파이썬에서 위키 피 디아 페이지를 구문 분석하려고 시도 해왔고 API를 사용하여 꽤 성공적이었습니다.파이썬에서 위키 백과 페이지를 구문 분석하는 방법은 무엇입니까?

그러나 API 설명서는 모든 데이터를 얻기에 너무 골격 인 것처럼 보입니다. 지금, 나는이

http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=China&format=json&exintro=1 

그러나에 requests.get() 호출을하고있어이는 나에게 첫 번째 단락을 반환합니다. 전체 페이지가 아닙니다. 나는 allpages와 검색을 사용하려고했지만 아무 소용이 없다. 위키 페이지에서 데이터를 얻는 방법에 대한 더 나은 설명은 실질적인 도움이 될 것입니다. 이전 쿼리에서 반환 된 모든 데이터 및 소개뿐 아니라

답변

3

페이지의 콘텐츠를 가져 오는 쿼리 동작을 사용하는 것 같습니다. 그것은 API 사양에 따르면 데이터의 일부만 반환합니다. 적절한 조치가 쿼리 인 것 같습니다. 여기

는 샘플입니다

import urllib2 
req = urllib2.urlopen("http://en.wikipedia.org/w/api.php?action=parse&page=China&format=json&prop=text") 
content = req.read() 
# content in json - use json or simplejson to get relevant sections. 
API를 사용하는 것보다 시간이 더 걸릴
+0

나는 철자법 실수를 알아 냈다. urllib은 내가 편집 한 내용에서 고쳤다. –

+0

Thanks @JakobBowyer 그것을 깨닫지 못했다. –

1

페이지에서 콘텐츠를 추출하려면 Beautiful Soup을 사용해 보셨습니까?

나는 이것을 위키피디아에 사용하지 않았지만 다른 사람들은 그것을 가지고 다른 페이지를 긁어 내는데 사용했으며 훌륭한 도구입니다.

+2

을 긁어하지 않을까요? – Hick

관련 문제