Kết hợp các APIs với các nguồn dữ liệu khác (tiếp tục)
Chương trình này sử dụng 2 hàm chính getLinks, và getHistoryIPs mới, cái tìm kiếm cho nội dung của tất cả các
links với class mw-anonuserlink (chỉ một người dùng nặc danh với một địa chỉ IP, hơn là một username) và trả
về nó như một tập.
Code này cũng sử dụng một mô hình tìm kiếm hơi chút tùy biến (nhưng hiệu quả cho mục đích của ví dụ này) để
tìm kiếm cho các bài viết từ đó để giành các lịch sử sửa chữa. Nó bắt đầu bằng cách giành các lịch sử của tất
cả Wikipedia articles liên kết tới bởi trang bắt đầu (trong trường hợp này, bài viết về ngôn ngữ lập trình
Python). Sau đó, nó tùy biến lựa chọn một starting page mới và giành tất cả các trang lịch sử sửa chữa của
các articles liên kết tới bởi trang đó. Nó sẽ tiếp tục cho đến khi nó gặp một page không có các links.
Bây giờ rằng bạn đã có code cái giành các địa chỉ IP như một string, bạn có thể kết hợp cái này với hàm
getCountry từ phần trên. để phân giải các địa chỉ IP này thành các nước. Bạn sẽ điều chỉnh getCountry một chút
để tính tới các địa chỉ IP không hiệu lực hay không đúng dạng cái dẫn đến một lỗi 404 Not Found.
Sau đây là đầu ra mẫu:
——————–
history url is: http://en.wikipedia.org/w/index.php?title=Programming_paradigm&a
ction=history
2405:201:2009:80b0:41bc:366f:a49c:52f2 is from IN
115.186.189.53 is from PK
103.252.145.68 is from IN
2405:201:400b:7058:b128:89fd:5248:f249 is from IN172.115.220.47 is from US
2806:1016:d:54b6:8950:4501:c00b:507a is from MX
36.255.87.160 is from IN
2603:6011:1100:a1d0:31bd:8a11:a0c8:e4c3 is from US
2806:108e:d:bd2c:a577:db4f:2867:2b5c is from MX
2409:4042:e8f:8d39:b50c:f4ca:91b8:eb9d is from IN
107.190.108.84 is from CA
——————–
history url is: http://en.wikipedia.org/w/index.php?title=Multi-paradigm_program
ming_language&action=history
98.197.198.46 is from US
75.139.254.117 is from US