2012-12-23 78 views
18

Tôi đang gặp sự cố khi trích xuất phụ đề tự động từ video trên YouTube.Trích xuất phụ đề tự động từ video trên YouTube

Tôi đã thử sử dụng phương pháp http://video.google.com/timedtext?type=track&v=3wszM2SA12E&name=Automatic&lang=en nhưng phương pháp đó chỉ hoạt động đối với những video có tên bài hát đó. Ví dụ: bài hát này không có bất kỳ bản nhạc được đặt tên nào (chỉ phụ đề tự động) và không tải lên: rrkrvAUbU9Y

Có một số ứng dụng web có thể thực hiện (như http://www.serpsite.com/youtube-subtitles-download-tool/http://mo.dbxdb.com/), nhưng tôi cần một kịch bản, bởi vì tôi muốn sử dụng nó cho nghiên cứu của tôi.

Bất kỳ ai có ý tưởng nào là cách chính xác để nhận được điều này? API của YouTube có nội dung về phụ đề nhưng chỉ dành cho người dùng đã đăng ký, trong khi các ứng dụng ở trên hoạt động với tất cả video và tôi nghi ngờ họ chỉ chụp mã html từ trang (mặc dù điều đó có thể xảy ra). Phải có cách ... xin hãy giúp!

+1

Lý do bạn không sử dụng api làm người dùng đã đăng ký là gì? – Drifter

+0

@Drifter: Bạn đang yêu cầu điều này như thể có tài khoản YouTube là quyền của mọi người. Chỉ vì bạn có một, không có nghĩa là mọi người đều có thể có. Nhiều người bị cấm sử dụng tài khoản YouTube _for life._ Những người khác bị tùy ý từ chối đăng ký mà không có lý do. Những người khác đã có đủ tài khoản ở nơi khác và không thể quản lý nhiều hơn; giữ bí mật và có một tài khoản vừa là gánh nặng vừa là trách nhiệm. Những người khác không cảm thấy như bị theo dõi. – 7vujy0f0hy

Trả lời

1

Cách tuyệt vời để lấy dữ liệu từ trang là sử dụng file_get_contents tuy nhiên điều này chỉ hoạt động nếu video có nút 'CC' hoặc phụ đề nhưng khi bạn có thể lấy tất cả các phần tử văn bản từ xml tập tin không may như tài liệu của một trong các dịch vụ 'Youtube để chú thích' nói rằng nó cần chú thích được kích hoạt bởi các youtuber để có được chú thích rất tiếc bạn không thể nhận được chú thích từ video mà không 'CC' được kích hoạt, tuy nhiên nếu bạn vẫn muốn bạn có thể sử dụng file_get_contents trên tệp xml sau đó tìm tất cả các thẻ 'văn bản' và sau đó biến chúng thành phụ đề.

1

Bạn cần gọi một API đầu tiên: http://video.google.com/timedtext?type=list&v=3wszM2SA12E

Điều này sẽ cung cấp cho bạn danh sách các bản nhạc có sẵn. Trong trường hợp của bạn, bạn chỉ có thể lấy một bản nhạc: id="0" name="Automatic" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"

Trong video cụ thể này, tôi có thể giải quyết bài hát theo số name=Automatic chỉ vì một số lý do. Nhưng đối với một video khác, video hoạt động tốt:

http://video.google.com/timedtext?type=track&v=zenMEj0cAC4&id=0&lang=en

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