Giúp code- Lấy link download bộ Disney's Magic English cho IDM (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

meocon01

Thành viên mới
Tham gia
29/9/08
Bài viết
29
Được thích
2
- Tình hình là có bộ video học tiếng anh muốn down cho cháu học khi còn bé, bộ Disney's Magic English này đúng là rất hay cho các em bé, Link file tải trên zing, nhưng vì rất nhiều link(>200 Links) nhỏ nên phải làm mở bằng trình duyệt rồi copy link vào IDM để nó tải, vì vậy rất là gian nan
(đầy đủ là 55DVD chắc phải>500 links- em copy tạm 20DVD làm ví dụ)

- Em có ý tưởng là dùng VBA để lấy link sau đó dùng command line gán nó vào IDM(IDM - hỗ trợ command line)
nhưng vẫn chưa tìm cách lấy được cái link tải trong phần <a href= "linktai" ..../a>

- trong file excel đính kèm là link để tải file, một link ví dụ
http://me.zing.vn/apps/sharefile?params=/download/downloadfile/file/MzI1OCs1MTE3ODQ1Mg==
Dưới đây là command line của IDM copy từ trang chủ
PHP:
   You may start IDM from the command line using the following parameters
idman /s
or idman /d URL [/p local_path] [/f local_file_name] [/q] [/h][/n] [/a]
Parameters:
/d URL - downloads a file
e.g. IDMan.exe /d "http://www.internetdownloadmanager.com/path/FileName.zip"
/s - starts queue in scheduler
/p local_path - defines the local path where to save the file
/f local_file_name - defines the local file name to save the file
/q - IDM will exit after the successful downloading. This parameter works only for the first copy
/h - IDM will hang up your connection after the successful downloading
/n - turns on the silent mode when IDM doesn't ask any questions
/a - add a file specified with /d to download queue, but don't start downloading
Parameters /a, /h, /n, /q, /f local_file_name, /p local_path work only if you specified the file to download with /d URL
Examples
C:\>idman.exe /n /d http://www.tonec.com/download/idman317.exe

-Làm theo ví dụ như trang chủ hướng dẫn ko đc phải viết như ví dụ này:
"C:\Program Files\Internet Download Manager\IDMan.exe" /a /d "http://download.utorrent.com/3.2/uTorrent.exe"

-Mong các bác giúp em, không em click chuột để tải files cũng nản !$@!!
 

File đính kèm

Lần chỉnh sửa cuối:
-Vậy nói là chạy song song thực tế ko phải là vậy, chỉ là chạy thằng này dừng thằng kia, do tốc độ máy xử lý nhanh nên ta cảm giác nó chạy đồng thời. Cái này giờ em đã hiểu rồi.
-Còn về Ngắt, Ý em đang nói về window, gần hơn nữa là ngôn ngữ VB là một ví dụ, biên soạn chương trình xong ta bấm F5 là nó chạy, bấm F8 nó chạy từng bước, các nhiệm vụ xác định được gán vào các phím tắt đó. Chương trình ko phải lúc nào cũng hỏi ta có bấm phím F5 hay phím F8 hay ko, mà ta bấm bất kỳ lúc nào đó cũng được.
Rõ ràng là "ngắt" đã được sử dụng ở đây, nhưng mà trong quá trình học em ko thấy nó đề cập đến kỹ thuật xử lý như vậy.
giả dụ nó ko phải là ngắt thì có kỹ thuật nào để xử lý những sự kiện xảy ra mà ko phải dò hỏi sự kiện đó có xảy ra hay ko, cứ nó xảy ra là ta sẽ có một chương trình đáp ứng nó làm một nhiệm vụ gì đó sau đó quay về chương trình chính.
giả dụ code em mô phỏng dưới đây.


code na ná là như vậy, trong hàm chính ko dò hỏi phím ESC có bấm hay ko, nhưng nếu cứ phím ESC được bấm là có thông báo đã bấm phím ESC.

Cái này em thấy ngôn ngữ nào cũng có xây dựng các hàm có sẵn, như Onclick-hàm click chuột, onchange-hàm thay đổi sự kiện dữ liệu chẳng hạn...

Tất nhiên cái sub hamngat() mà bạn viết tôi hiểu là bạn viết đơn giản, chứ thực ra dạng của nó cụ thể hơn, vd. bạn có Private Sub CommandButton1_Click()
Như thế thì code của sub trên chỉ được thực hiện khi click vào CommandButton1 chứ không được thực hiện khi bạn click vào CommandButton2, CommandButton3, ... hay click vào CheckBox v...v
Cái sub mà tôi viết ở trên thì theo ngôn ngữ lập trình gọi là phương thức sự kiện - tiếng Việt tôi dịch thế - nó là event handler, tức là procedure mà khi người dùng nhấn chuột trên nút CommandButton1 thì nó sẽ được gọi để thực hiện.
Windows hoạt động trên nền tảng thông điệp. Từ lúc bạn khởi động Windows tới khi kết thúc thì system hoạt động không ngừng, nó "trực" và theo dõi mọi hoạt động của các thiết bị. Có sự kiện nào sẩy ra thì system đều biết. Vd. người dùng vừa cắm máy in, đút USB, chuột vừa được nhấn, bàn phím vừa được nhấn, menu vừa được mở v...v System biết hết: "ai", "làm gì", "làm ở đâu" v...v nó biết hết.
Vậy system biết hết để làm gì? Để thông báo cho "những vị quan tâm" biết. Vd. khi bạn "lướt con trỏ" trong WORD, nhấn chuột trong WORD thì system sẽ thông báo cho cửa sổ WORD (ở đây WORD là vị quan tâm. Excel dĩ nhiên không quan tâm liệu chuột có được nhấn ở cửa sổ WORD hay không) bằng cách gửi tới cửa sổ WORD thông điệp WM_MOUSEMOVE, WM_LBUTTONDOWN, WM_LBUTTONUP (WM_RBUTTONDOWN, WM_RBUTTONUP). Khi bạn nhấn bàn phím khi cửa sổ notepad active thì system sẽ gửi thông điệp thích hợp và các thông số đi kèm tới cửa sổ của notepad. Đọc thông điệp thì bạn biết thông điệp nói về chuột hay bàn phím, và nếu vd. bàn phím thì phím nào (A, B, ....) v...v
Gửi thông điệp? Vậy cụ thể gửi tới đâu, gửi như thế nào? Cơ cấu thông điệp cụ thể ra sao? .
Thường thì mỗi chương trình trong Windows có ít nhất 1 cửa sổ (có thể viết ct không cửa sổ, các service). Và thường có một vòng lặp chính để "nhặt" các thông điệp mà Windows "đặt" vào hàng đợi (message queue). Cửa sổ do người lập trình gọi hàm của system để tạo ra. Khi tạo cửa sổ thì phải truyền nhiều thông số: class của cửa sổ, hàm cửa sổ (window procedure) là nơi các thông điệp sẽ được gửi tới, kích thước của cửa sổ v...v
Nói tóm lại thì mọi sự kiện (không chỉ chuột và bàn phím) liên quan tới một cửa sổ nào đó thì sẽ được Windows gửi tới cửa sổ đó bằng cách đặt vào hàng đợi. Process tự nhặt message từ hàng đợi để sử lý tiếp. Bạn không nhìn thấy những cái này bởi mọi code làm việc này đã nằm trong thư viện được thêm vào dự án của bạn - nếu tôi không lầm thì đó là Microsoft Forms 2.0 Object Library
Bạn tự tìm đọc về những cái này. Hệ thống thông điệp, cách hoạt động của Windows là một vấn đề lớn mà nếu viết hoàn chỉnh thì nó thành một khóa học lập trình mất rồi. GPE không phải là chỗ thích hợp cho cái này.
 
Upvote 0
Ngắn gọn và dễ hiểu.

Vậy là đa số những người lập trình đều dựa vào các thông điệp mà win gửi tới.
Việc em quan tâm là nó hoạt động như thế nào, để dựa vào đó mình tự thiết kế cho mình những thứ cần thiết.
Bác biết nhiều có thể cho em tên sách về " cách hoạt động của window", "hệ thống thông điệp"- có link tải càng tốt -để em tìm hiểu thêm.
Cảm ơn bác nhiều nha.
 
Upvote 0
Ngắn gọn và dễ hiểu.

Vậy là đa số những người lập trình đều dựa vào các thông điệp mà win gửi tới.
Việc em quan tâm là nó hoạt động như thế nào, để dựa vào đó mình tự thiết kế cho mình những thứ cần thiết.
Bác biết nhiều có thể cho em tên sách về " cách hoạt động của window", "hệ thống thông điệp"- có link tải càng tốt -để em tìm hiểu thêm.
Cảm ơn bác nhiều nha.

Bạn hỏi link thì tôi cũng chịu thôi.
Bạn hãy tự hỏi mình: bạn có cần lập trình bằng API không. Nếu bạn dùng một môi trường lập trình bất kỳ, vd. Delphi rồi xây dựng dự án của mình kiểu: "thả" các controls xuống Form (kiểu như bạn "thả" từ Toolbox xuống UserForm ấy) rồi viết code cho Click, Enter, Exit, KeyDown(Up), MouseDown(Move, Up) v...v thì bạn chả cần hiểu gì về thông điệp cả. Và bạn cũng chả cần biết rõ là Windows hoạt động thế nào. Nói thế thôi chứ khi bạn viết code để làm việc gì thì bạn phải có kiến thức về vấn đề đó. Cái tôi nói là bạn không cần biết "sau cánh gà" thì Windows hay môi trường lập trình đã thao tác như thế nào để có sản phẩm "dâng" cho bạn. Bạn chỉ cần biết là muốn có sản phẩm thì bạn phải "đặt đơn" gì, "bấm" nút nào, lấy sản phẩm ở đâu.
Nếu bạn lập trình bằng API thì bắt buộc bạn phải tự làm mọi việc trực tiếp với Windows. Từ tạo một Textbox nhỏ xíu bạn cũng phải biết viết code gọi hàm của system để tạo. Còn nếu bạn dùng kiểu "thả" Textbox xuống Form thì tất cả những việc cần làm để tạo Textbox môi trường lập trình (code có trong các thư viện của môi trường lập trình) sẽ làm thay bạn. Tức "sau cánh gà "anh ta thay bạn gọi các hàm của system để tạo Textbox. Bạn cũng không phải viết hàm cửa sổ để nhận và phân tích các thông điệp được gửi tới để biết: thông điệp này có liên quan tới Button, thông điệp kia có liên quan tới Textbox v...v. Vì những code làm chuyện này đã có trong các thư viện của môi trường lập trình và chúng được gộp vào trong dự án của bạn khi biên dịch (compile).
Nếu bạn cần biết chút về lập trình API thì bạn lập riêng một chủ đề, tôi nghĩ sẽ có người giúp bạn. Bạn hỏi trong chủ đề này nên có thể nhiều người có thể giúp được nhưng họ không biết là có câu hỏi về vấn đề này.
Muốn lập trình API thì phải đọc tài liệu của Microsoft Windows trong đó có Windows SDK (Software Development Kit), và các tập tin hỗ trợ. Nếu bạn dùng Delphi thì Delphi đã khai báo tất cả các hàm giúp bạn - bạn chỉ việc "thêm" những môđun thích hợp. Delphi cũng cung cấp cho bạn các tập tin hỗ trợ.
 
Upvote 0
Upvote 0
hii, qua đây em cũng học được khá nhiều đó chứ, biết đâu sau này lại hưu ích nhiều, em để máy nó chạy nên ko tốn thời gian lắm, Em làm việc, công việc rảnh rỗi quá nên tính nghĩ ra việc để làm, kiếm tiền khó lắm ko biết làm gì cả.. bác có việc gì cho em làm thêm với...hic
 
Upvote 0
Cái này ra hơi muộn nhưng chắc giúp được nhiều người đây ^^ vì giờ có chia sẻ file của zing mình thấy dùng là sướng nhất ^^ up nhanh và tải nhanh nhưng hơi ghét lúc tải về do quá nhiều file chia nhỏ ... ai hay tải phim thì chắc dùng được cái này tốt.

ta có url 1 link như sau:
PHP:
http://me.zing.vn/apps/sharefile?params=/download/downloadfile/file/NDkwMiszMzg3MTU1MQ==

khi xem bằng trình duyệt + kiểm tra phần tử thì thấy có link để downlaod. nhưng dùng IDM để tải về thì ko thấy có link trong file tải về . vì thực chất link bên trên chứa ifame sang 1 trang khác. Mà trang này mới chứa link để tải.
PHP:
http://download.apps.zing.vn?_v=3&params=/download/downloadfile/file/NDkwMiszMzg3MTU1MQ==
bằng việc đọc code của trang này mà ta sẽ lấy dc url, rồi làm gì thì tùy các bạn.

Mình có làm cái tool để phục vụ nhu cầu cá nhân ... nên cũng share luôn ^^
PHP:
http://me.zing.vn/apps/sharefile?params=/download/downloadfile/file/NTIyOCszMzg3MTU1MQ==
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom