Đối với mỗi người dùng trên Wikipedia, tôi muốn tìm những trang nào được tạo bởi những người dùng đó. Làm cách nào tôi có thể tìm thấy tất cả các trang được tạo bởi một người dùng Wikipedia hoặc Mediawiki cụ thể?
Đối với mỗi người dùng trên Wikipedia, tôi muốn tìm những trang nào được tạo bởi những người dùng đó. Làm cách nào tôi có thể tìm thấy tất cả các trang được tạo bởi một người dùng Wikipedia hoặc Mediawiki cụ thể?
Câu trả lời:
Theo tôi biết, không có cách nào đơn giản để làm điều này. Nhưng tôi có thể thấy một số khả năng (bắt đầu với những khả năng thực tế sẽ không hoạt động):
Sử dụng API. API không có bất kỳ cách trực tiếp nào để làm điều này, nhưng bạn có thể cố gắng giải quyết vấn đề đó:
Đi qua tất cả các trang và cho mỗi trang, tìm ra tác giả. Do những hạn chế của API khi làm việc với các sửa đổi, điều này có nghĩa là 1 yêu cầu trên mỗi trang, điều này làm cho điều này hoàn toàn không khả thi đối với một wiki lớn như Wikipedia.
Truy vấn đầu tiên sẽ trông giống như: http://en.wikipedia.org/w/api.php?action=query&generator=allpages&gaplimit=1&prop=revutions&rvdir=newer&rvprop=user&rvlimit=1
Đối với mỗi người dùng, hãy xem qua những đóng góp của anh ta và tìm ra những chỉnh sửa nào của anh ta đã tạo ra một trang mới. Vì API sẽ không cho phép bạn lọc các đóng góp để chỉ hiển thị các sáng tạo trang, bạn sẽ phải tự mình lọc các đóng góp đó. Điều này có thể nhanh hơn nhiều so với tùy chọn ở trên, nhưng vẫn quá chậm đối với Wikipedia:
Truy vấn cho người dùng: Svick sẽ giống như: http://en.wikipedia.org/w/api.php?action=query&list=usercontribs&ucuser=Svick&ucprop=title|flags&uclimit=max
Tải xuống kết xuất lịch sử stub-meta (được nén 32 GB cho Wikipedia tiếng Anh), chứa thông tin về các phiên bản của tất cả các trang trong XML. Bạn có thể đi qua đó để tìm ra người tạo ra mỗi trang (giả sử không có sửa đổi nào bị xóa).
Trên Wikimedia Toolserver , tôi chạy một tập lệnh (ban đầu không phải do tôi viết) cập nhật định kỳ bảng u_svick_enwiki_page_creators_p
chứa thông tin về người dùng đã tạo mỗi trang. Bảng này có thể truy cập được đối với những người dùng khác của Máy chủ công cụ, nhưng không công khai.
Tóm lại: không có giải pháp tốt và bạn có khá nhiều lựa chọn: tải xuống và phân tích 32 GB dữ liệu hoặc lấy tài khoản Máy chủ công cụ và sau đó sử dụng bảng tôi đã đề cập.
Kể từ Wikimedia 1.23, điều này có thể được thực hiện với Usercontribs
mô-đun trong API bằng cách sử dụng new
tùy chọn ucshow
tham số.
Có một công cụ cho việc đó: https://tools.wmflabs.org/xtools/pages/
(XTools cũng có một số công cụ hữu ích khác)
Ngoài ra, trên bất kỳ wiki cụ thể nào, bạn cũng có thể hiển thị tất cả các trang được tạo bởi bất kỳ người dùng có tên nào thông qua tìm kiếm này .