2009-07-07 8 views
9

위키 설치를 손상시키지 않으면 서 MediaWiki 데이터베이스에 새로운 기사를 곧바로 삽입 할 수있는 방법이 필요합니다.MediaWiki 데이터베이스에 기사를 직접 삽입

새 기사를 만들 때 MediaWiki가 삽입하는 표/속성을 알고 있다면 직접 채울 수 있습니다.

더 좋은 방법을 알고 계시거나 제안 사항이 있으십니까?

답변

4

MediaWiki에서 사용할 수있는 많은 봇과 API 중에서 간단한 위치는 MediaWiki Bulk Page creator입니다.

간단한 텍스트 형식의 여러 페이지를 만들 수있는 Snoopy 클래스 라이브러리를 사용하는 간단한 PHP 스크립트입니다.

시작하기 전에 먼저 Creating a Bot을 읽어야합니다. 여기에는 위키에 대한 봇 액세스를 설정하는 방법에 대한 중요한 세부 정보가 포함되어 있습니다. Special:Export

가져 오기 페이지 Special:Import를 사용하여와

+0

매우 도움이,이 최대 약 30 분 내 RSS 스크립트와 함께 실행. 감사! –

1

왜이 작업을 수행해야합니까?

  • 이전 위키 설치에서 데이터를 마이그레이션하려는 경우 이미 가져 오기 및 내보내기 도구가 있습니다.
  • 큰 형식의 사전 설정된 페이지를 자동으로 추가하려는 경우 MediaWiki API은 데이터베이스와 직접 연결하는 것보다 안전한 경로를 제공합니다.
+0

은 그것을 밖으로 확인하십시오. 전에 API를 사용 해본 적이 없으므로 API를 사용하는 방법에 대해서는 잘 모르겠습니다. API를 사용하여 한 번에 여러 페이지를 만들 수 있습니까 (사용자가 선택한 기사 수에 따라 다름)? –

+0

'action = import'를 사용하지 않고 한 번의 호출로 많은 페이지를 작성할 수 있는지는 잘 모르겠지만'action = edit'를 여러 번 호출 할 수 있습니다. 작성하려는 새 페이지마다 한 번씩 호출 할 수 있습니다. – ephemient

+0

아마도 cURL을 사용하여 API에 여러 번 호출 할 수 있습니다. 편집 토큰을 사용하거나 작성하는 방법을 알아 내거나 게시 할 사용자를 지정하는 데 문제가 있습니다. 그렇지 않으면 나는 바른 길을 가고 있습니다. 도와 주셔서 감사합니다. –

2

확실히 데이터베이스에 직접 쓰고 싶지는 않습니다. RSS에서 선택한 항목을 입력으로 받아서 항목 당 하나의 위키 문서를 만드는 확장 프로그램을 만들려면 Article::doEdit()을 사용하면됩니다.

1

페이지 내보내기. 가져올 수 있으려면 '가져 오기'user right을 가져야합니다.

2

봇과 함께해야합니다. 봇은 독립 실행 형으로 실행할 수 있지만 다른 코드와 통합하는 경우 언어를 기반으로 선택할 수 있습니다. PHP의 경우 MediaWiki Bulk Page Creator이 있습니다. Python의 경우 pymediawiki는 Pagefromfile과 함께 제공됩니다.

또한 관련된 작업을 해결하는 External Data이라는 확장명이 Yaron Koren입니다. 외부 소스의 데이터를 wiki 페이지에 통합 할 수 있습니다. URL, 로컬 파일 또는 데이터베이스에서 검색된 CSV, XML 또는 JSON의 특정 요소를 가져올 수 있습니다.

5

나는 Bulk Page Creator의 저자이며 아직 사용중임을 알고있다.

내 최신 MediaWiki 가져 오기 도구는 CSV 데이터 파일과 페이지 템플릿으로 페이지를 만듭니다. Adrian이 제안한대로 Mediawiki XML 가져 오기 파일을 생성합니다. 나는 사용자가 위키에 추가하는 기사를 선택할 수있는 다양한 RSS 피드 목록에 PHP 스크립트를 쓰고 있어요

Mediawiki CSV Import

+0

새 기사를 추가하는 것에 대한 많은 페이지를 읽었습니다. 범주는 어떻게됩니까? 미디어 위키는 카테고리 트리를 개별적으로 만듭니다. 완전히 다른 데이터베이스에서 미디어 위키로 마이그레이션하는 첫 번째 단계는 카테고리를 만드는 것입니다. 그렇지 않습니까? – HPM

+0

해당 웹 사이트를 실행하는 코드를 출시 했습니까? – guaka

관련 문제