하위 카테고리에 대한 카테고리 정보 (페이지 및 하위 세트 수)를 특정 카테고리에 표시하는 xml/json을 생성하고 싶습니다. 위키 백과. 이를 위해서는 카테고리> 하위 카테고리 목록> 하위 하위 카테고리 목록> 하위 하위 카테고리별로 기사 수를 표시하는 것과 같이 데이터 계층 구조에서 2 개의 레벨을 통해 구문 분석해야합니다. ,MediaWiki API를 사용하여 하위 하위 카테고리의 기사 수를 얻는 방법
여기 나에게 하위 하위 범주의 사전을 제공합니다 내가 실행 해요 스크립트가있다 : 위키 피 디아의 API를 사용하여
이 내가 하위 범주의 한 단계 무엇을 찾고 있어요 나를 준다 하지만 나는 페이지 수 (categoryinfo)를 표시 할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까? 이 위키 백과 같은 위키 미디어 프로젝트의 경우
from wikitools import wiki, category, api
def get_category_members (category_name, depth, lang='en'):
articles = {}
if depth < 0:
return articles
#Begin crawling articles in category
results = wikipedia_query({'list':'categorymembers',
'cmtitle': category_name,
'cmtype' : 'subcat',
'cmlimit': '300',
'action' : 'query',
'prop' : 'categoryinfo'}, lang)
return results
if 'categorymembers' in results.keys() and len(results['categorymembers']) > 0:
for i, page in enumerate(results['categorymembers']):
article = {page['title'] : 'categoryinfo'}
articles.update(article)
return articles
범주를 반복해야합니다 , 그리고 카운트합니다. 부모를 포함하는 카테고리이므로 무한 루프를 피할 수있는 메커니즘이 있는지 확인하십시오. – leo
@leo 하위 하위 범주 사전을 반복하는 스크립트를 추가했지만 어떻게 페이지 수를 값으로 표시 할 수 있습니까? –
모두'categoryinfo'에 있어야합니다 :'{ "size": 16, "pages": 0, "files": 0, "subcats": 16}은 총 0 페이지, 0 파일, 16 하위 범주를 의미합니다. 16 개체 중. 그냥 페이지 수 (그리고 파일들도 원한다면) – leo