2009-03-19 13 views
6

Tôi có một dự án mà tôi thu thập tất cả các bài viết Wikipedia thuộc về một thể loại cụ thể, kéo ra khỏi bãi chứa từ Wikipedia, và đặt nó vào db của chúng tôi.Có một trình phân tích cú pháp/cách nào có sẵn để phân tích cú pháp các tệp kết xuất Wikipedia bằng cách sử dụng Python không?

Vì vậy, tôi nên phân tích cú pháp tệp kết xuất Wikipedia để hoàn thành công việc. Chúng ta có một trình phân tích cú pháp hiệu quả để thực hiện công việc này không? Tôi là một nhà phát triển python. Vì vậy, tôi thích bất kỳ trình phân tích cú pháp nào trong python. Nếu không đề nghị một và tôi sẽ cố gắng để viết một cổng của nó trong python và đóng góp nó vào web, do đó, những người khác sử dụng nó hoặc ít nhất là thử nó.

Vì vậy, tất cả những gì tôi muốn là trình phân tích cú pháp python để phân tích các tệp kết xuất Wikipedia. Tôi bắt đầu viết một trình phân tích cú pháp thủ công để phân tích từng nút và hoàn thành công việc.

Trả lời

1

Tôi không biết về việc cấp phép, nhưng this được thực hiện trong python, và bao gồm các nguồn.

1

Một mô-đun tốt khác là mwlib từ here - đó là một nỗi đau để cài đặt với tất cả các phụ thuộc (ít nhất là trên Windows), nhưng nó hoạt động tốt.

0

Wiki Parser là trình phân tích cú pháp rất nhanh cho tệp kết xuất Wikipedia (~ 2 giờ để phân tích tất cả 55GB Wikipedia tiếng Anh). Nó tạo XML lưu giữ cả nội dung lẫn cấu trúc bài viết.

Sau đó, bạn có thể sử dụng python để làm bất cứ điều gì bạn muốn với đầu ra XML.

0

Tôi thực sự khuyên bạn nên mwxml. Nó là một tiện ích để phân tích các bãi Wikimedia được viết bởi Aaron Halfaker, một nhà khoa học nghiên cứu tại nền tảng Wikimedia. Nó có thể được cài đặt với

pip install mwxml 

Cách sử dụng khá trực quan như chứng minh bằng ví dụ này từ documentation:

>>> import mwxml 

>>> dump = mwxml.Dump.from_file(open("dump.xml")) 

>>> print(dump.site_info.name, dump.site_info.dbname) 
Wikipedia enwiki 

>>> for page in dump: 
...  for revision in page: 
...  print(revision.id) 
... 
1 
2 
3 

Nó là một phần của một tập lớn của data analysis utilities đưa ra bởi các Wikimedia Foundation và cộng đồng của nó .