위키피디아에서 기사의 특정 섹션을 쓴 사람을 어떻게 알 수 있습니까?


14

버전 관리 시스템은 일반적으로이 기능을 "다른 사람을 비난"이라고합니다. 각 줄에 대해 누가 수정했는지와 언제를 표시합니다.

업데이트 : 수천 가지 수정 사항이있는 기사에 대한 솔루션을 찾고 있습니다 (즉, 버전 기록을 탐색하고 각 기사를 확인하는 것은 실용적이지 않습니다).


1
(특정 구문을 작성한 사람을 찾아) WikiBlame 사용에 대한 구체적인 지침은 여기에서 찾을 수 있습니다 : webapps.stackexchange.com/questions/35906/...
앤더슨 녹색

답변:


4

View History기사에 대한 링크를 클릭하면 기사에 대한 변경 사항 목록, 날짜 및 날짜를 ​​볼 수 있습니다. 변경 설명에 대한 간단한 요약도 표시됩니다. 그런 다음 단추를 클릭하여 Compare selected version텍스트를 비교할 수 있습니다 .

불행히도, 나는 누가 특정 줄이나 문장 또는 단락을 변경 했는지 볼 수 있는 Blame 기능을 알지 못합니다 .

편집 : 당신은 Greg Hewill의 사이트 를 확인하고 싶을 수도 있습니다 . 그는 ( 비슷하게 ) 그러한 비난 기능을 수행하고 있습니다.


짧은 기사에서는 간단합니다. 그러나 수백 또는 수천 개의 편집 내용이있는 기사가 있으면 훨씬 어려워집니다. 나는 반대를 찾고 있습니다. 당신은 라인을 제공하고 그것은 당신에게 사용자를 알려줍니다.
Senseful

귀하가 게시 한 링크는 내가 찾던 것입니다.
Senseful



0

"View History"모든 위키 백과 기사의 오른쪽 상단에있는 을 클릭하면 됩니다. 거기에 기사의 개정 목록이 있습니다. 각 사용자가 구체적으로 커밋 "cur"하려면 각 개정판 옆에있는을 클릭하면 wikipedia에서 변경된 사항을 강조 표시합니다.


이 방법이 왜 수천 가지 버전의 기사에 좋지 않은지 설명하는 질문을 업데이트했습니다.
Senseful

OpenBSDWiki의 대답은 맞습니다. 찾고있는 것이 아닌가요?
Oren Hizkiya

0

이를 수행하는 한 가지 방법은 기사 기록을 내 보낸 다음과 같은 로컬 도구를 사용하여 개정을 처리하는 것 git blame입니다. 이것은 스크립트를 사용하여 수행 할 수 있습니다.

기사 기록을 내보내려면 , 특히 다음을 사용Special:Export 하십시오 https://en.wikipedia.org/w/index.php?title=Special:Export&history=1&action=submit&pages=Blinkenlights.

비난을 생성하려면 먼저 임시 git 저장소 (Python 3에 표시)에 개정을 추가하십시오.

import tempfile
import subprocess
with tempfile.TemporaryDirectory() as repo:
    os.chdir(repo.name)
    subprocess.check_call(['git', 'init'])

그런 다음 내 보낸 히스토리 XML을 다운로드하고와 같이 구문 분석 lxml.etree하고 개정판 (xpath //revision)을 반복하십시오 . 각 개정에 대해 텍스트를 파일에 작성하고 (예 article.wiki:) 작성자를 읽고 실행하십시오.

subprocess.check_call(['git', 'commit', '-a', '-m', 'blah', '--author=' + str(author)])

모든 개정이 repo에 추가 된 후 실행 git blame article.wiki하여 각 라인의 작성자를 확인하십시오.

참고 : Special:Export내 보낸 개정 수를 제한 할 수 있으므로 기록이 긴 페이지에서는 XML을 여러 번 가져와야 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.