2008-11-12 16 views
6

Giả sử tôi muốn tạo giao diện tập lệnh python với một trang web như Twitter.Tôi có thể sử dụng công cụ Python nào để giao tiếp với API của trang web?

Tôi sẽ sử dụng điều gì để làm điều đó? Tôi đang sử dụng để sử dụng curl/wget từ bash, nhưng Python có vẻ là đẹp hơn nhiều để sử dụng. Tương đương là gì?

(Đây không phải là Python chạy từ một máy chủ web, nhưng chạy tại địa phương thông qua các dòng lệnh)

Trả lời

8

Đối với một cái gì đó như Twitter, bạn sẽ tiết kiệm cho mình một tấn thời gian bằng cách không reinventing the wheel. Hãy thử thư viện như python-twitter. Bằng cách này, bạn có thể viết kịch bản của bạn hoặc thậm chí một ứng dụng chính thức, giao diện với Twitter và bạn không phải quan tâm đến các chi tiết triển khai.

Nếu bạn muốn cuộn thư viện giao diện của riêng mình, bạn sẽ phải làm quen với urllib và tùy thuộc vào định dạng cung cấp kết quả, lxml (hoặc một số trình phân tích xml khác) hoặc simplejson.

+1

+1 Simplejson là một thành phần quan trọng ở đây. –

+2

âm thanh urllib, lxml và simplejson giống như những công cụ tôi cần. Cảm ơn! –

+0

@Rich: nếu bạn thấy điều này hữu ích, thì bạn biết những gì bạn phải làm ... nháy mắt nháy mắt nhẹ nhàng –

2

Python có một module httplib rất đẹp cũng như một module url mà cùng nhau có thể sẽ đạt được hầu hết những gì bạn cần (ít nhất là liên quan đến chức năng wget).

4

Tôi hết lòng khuyên bạn nên mechanize cho python. Nó chính xác là một trình duyệt web có thể lập trình mà bạn có thể sử dụng từ python, nó cũng xử lý các biểu mẫu và cookie! Nó làm cho bất kỳ loại trang web thu thập dữ liệu một cách dễ dàng.

Hãy xem các ví dụ trên liên kết đó để xem những gì nó có thể làm.

+0

Cơ chế lý tưởng cho các trường hợp bạn KHÔNG có API, nhưng OP chỉ định một trang web như Twitter, có API, vì vậy urllib2 thường là cách để đi. – bouvard

+0

ah, tôi đã không chính xác nhận được những gì bạn có nghĩa là "có một API" - nhưng bạn có nghĩa là nó có một cách rộng lớn của interfacing với nó chỉ thông qua URL. trong trường hợp đó, yeah, urllib2 là đủ. – Claudiu

+0

"Nó làm cho bất kỳ loại trang web thu thập thông tin một cách dễ dàng." - ngoại trừ nơi trang web đang đặt giá trị cookie qua JavaScript và dựa vào chúng, vì tôi đang tìm kiếm sự thất vọng của tôi. –

0

Nếu bạn quen với việc xử lý cURL, hãy xem xét PycURL.

Các vấn đề liên quan