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


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.