Thứ Hai, 18 tháng 2, 2019

VTV Video Direct Link Generator

Deploying Node.js Apps on Heroku

Tools nho nhỏ viết bằng Nodej và Express bao gồm các modules:

body-parser

cheerio

string

  • File app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var express = require('express');
var bodyParser = require('body-parser')
var cheerio = require('cheerio');
var request = require('request');
var s = require('string')

var port = Number(process.env.PORT || 5000);
var app = express();

function get_link(url) {

    var link = url;
    
    var text1 = s(link).chompLeft('http://vcplayer.vcmedia.vn/1.1/?_site=vtv&vid=').s;
    
    var text2 = s(text1).splitLeft('&');
    var text3 = 'http://vhosting.vcmedia.vn/'  + text2[0];
return text3;
}

app.use(bodyParser.urlencoded({extended:false}));

app.get('/', function (req, res) {
    res.sendFile('index.html', { root: __dirname });
});


app.post('/', function (req, res) {   
    var url = req.body.vtv;

    request(url,function(err, resp, body){
        var vtv_source = cheerio.load(body);
        var link = vtv_source('.VCSortableInPreviewMode').attr('data-src');
        res.writeHead(200, { 'Content-Type': 'text/html' });
        res.write('');
        res.write('');
        res.write('<center> <br> <br> <br> <a href="' + get_link(link) + '">' + get_link(link) + '</a> </center>');
        res.end();
    });

});

var server = app.listen(port, function () {
    console.log('Node server is running..');
});
  • File index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html>
<head>
    <title>VTV Video Direct Link Generator</title>
</head>
<style> 
input {
    width: 30%;
    padding: 12px 20px;
    margin: 8px 0;
    font-size: 100%;
}
input[type=button], input[type=submit] {
    background-color: #4CAF50;
    border: none;
    color: white;
    padding: 16px 16px;
    text-decoration: none;
    margin: 4px 2px;
    cursor: pointer;
    width: 15%;
}
}
</style>

<body>
    <br>
    <br>
    <br>
    <center>
    <h1>Paste your VTV Video url here</h1>
    <form method = "post">
    <input type="text" name="vtv" placeholder="http://vtv.vn/video/cong-nghe-doi-song-sinh-vat-ngoai-lai-204180.htm">
    <input type="submit">
    </form>
    </center>
</body>

Lấy link tải các chương trình yêu thích trên VTV!

Giới thiệu

  • http://vtv.vn/truyen-hinh-truc-tuyen.htm là website của VTV. Với chức năng là xem tv trực tuyến ngoài ra còn cung cấp cho bạn các chương trình truyền hình đã phát sóng để các bạn tiện xem lại. Vậy làm sao để download các chương trình đã phát sóng về máy tính ?

Chuẩn bị

Thực hiện

Bước 1:
  • Gõ: http://vtv.vn/video/cong-nghe-doi-song-huy-dong-nguon-luc-dau-tu-cho-khoa-hoc-96609.htm vào trình duyệt.
  • Đợi trang load xong, bạn nhấn tổ hợp phím Ctr + U để xem mã nguồn trang.
  • Nhấn tổ hợp phím Ctr + F
  • Gõ “mp4” bạn sẽ thấy dòng sau:
    1
    src='http://vcplayer.vcmedia.vn/1.1/?_site=vtv&vid=vtv/1wspafjvpcm2t5emagq9roxedfhkdz/2015/10/11/1110-cong-nghe-doi-song-1444534152538-506e1.mp4&_videoId=96609
  • Chúng ta chỉ lấy phần:
    1
    vtv/1wspafjvpcm2t5emagq9roxedfhkdz/2015/10/11/1110-cong-nghe-doi-song-1444534152538-506e1.mp4
  • Thêm “http://vhosting.vcmedia.vn” vào trước ta được:
    1
    http://vhosting.vcmedia.vn//vtv/1wspafjvpcm2t5emagq9roxedfhkdz/2015/10/11/1110-cong-nghe-doi-song-1444534152538-506e1.mp4
  • Vậy là ta đã có được địa chỉ download của video chương trình truyền hình ưa thích rồi
Bước 2: Tải video
  • Gõ địa chỉ vào trình duyệt để tải
  • Hoặc add vào IDM, thế là xong! :)

    Lưu ý

  • Tất các link khác tương tự như ví dụ trên đều làm tương tự

Tạo một blog đơn giản với Pelican trên Windows

Giới thiệu

Pelican là một “static site generator” , được viết bằng Python. Cũng giống như Jeklly hay Ghost, Pelican cho phép bạn tạo các bài viết bằng ngôn ngữ Markdown hoặc reStructuredText sau đó kết hợp theme để ra được 1 sites hoàn chỉnh dưới dạng các html, để up lên host một cách dễ dàng.

Tóm tắt

Bài viết được thực hiện trên Windows, so với Linux cách thực hiện tương tự
Cung cấp các bước cài đặt Pelican cơ bản nhất
Chuẩn bị
Máy tính đã cài sẵn Python 2.7.x hoặc Python 3.3+
Windows 7 hoặc cao hơn
Pelican 3.6.3

Thực hiện

Bước 1: Thiết lập môi trường
Cài đặt Python như bình thường
Cài Pelican qua pip bằng cách mở CMD của Windows và nhập:
pip install pelican
Cài đặt Markdown:
pip install pelican markdown
Bước 2: Tạo một blog
Tạo một thư mục C:\blog (Bạn có thể tùy ý)
Mở CMD nhập
cd C:\blog
pelican-quickstart
Thiết lập cấu hình cơ bản sau:
- Where do you want to create your new web site? (Thư mục để chứa file blog):
    Nhập C:\blog ( thư mục bạn đã tạo từ trước)
- What will be the title of this web site (Tiêu đề blog)
    Nhập tùy ý
- Who will be the author of this web site ?
    Tên người viết
- What will be the default language of this web site?
    Ngôn ngữ cho blog nhập en
- Do you want to specify a URL prefix? e.g., http://example.com?
    Nhập n
- Do you want to enable article pagination? (Hiển thị số trang trên blog nếu bài viết không đủ hiện thị trong một trang)
    Nhập tùy ý y hoặc n
- How many articles per page do you want?
    Số lượng bài viết hiển thị trong 1 trang
- What is your time zone?
    Múi giờ để hiện thị thông tin ngày viết. Nhập Asia/Bangkok
- Do you want to generate a Fabfile/Makefile to automate generation and publishing?
    Nhập n
- Do you want an auto-reload & simpleHTTP script to assist with theme and site development?
    Nhập n
Done. Your new project is available at C:\blog. 
Bạn đã thiết lập xong cấu hình cơ bản
Mở CMD và nhập:
cd C:\blog
pelican content -s pelicanconf.py
cd C:\blog\output
python -m pelican.server
Vào trình duyệt gõ http://localhost:8000 để xem trước nội dung

Kết

Bạn có thể viết bài bằng ngôn ngữ Markdown sau đó bỏ vào thư mục C:\blog\content
Sau đó build blog bằng cách nhập lệnh:
pelican content -s pelicanconf.py
Xem trước blog tại địa chỉ http://localhost:8000 bằng cách di chuyển vào thử mục output, mở CMD và nhập:
cd C:\blog\output
python -m pelican.server
Toàn bộ các file html của blog sau khi tạo ra ở C:\blog\output , bạn có thể up file này lên hosting nào đó
Vậy là chúng ta đã có một blog đơn giản rồi, ngoài ra Pelican có thể cài đặt theme và sử sử dụng trên Github Hosting, mình sẽ hướng dẫn các bạn ở bài viết sau.

Swiftype - Công cụ tìm kiếm tùy chỉnh cho Website

Swiftype là gì ?

Cũng giống như Custom Search của Google, Swiftype là công cụ tìm kiếm tùy chỉnh cho bất kì Website nào bằng cách chèn mã vào website của bạn. Swiftype sẽ thêm một nút bấm hoặc chèn vào một search box có sẵn để tìm kiếm nội dung có trong website.Swiftype cung cấp các chức năng tìm kiếm tùy theo gói mà bạn trả phí trong đó có gói miễn phíBlog mình cũng sử dụng Swiftype, bạn có thể thấy button “Search this site”

Cài đặt Swiftype

Đăng ký

Đăng ký tại đây: https://swiftype.com/users/sign_upBạn sẽ được dùng thử 30 ngày sau đó nâng cấp lên bản trả phí hoặc sử dụng gói miễn phí nhưng hạn chế tính năng

Tạo tìm kiếm cho webiste

Vào đây: https://swiftype.com/precrawls/newNhập domain của website bạn muốn tìm kiếm, nhập tên công cụ tìm kiếmSau đó chọn Complete SetupKéo xuống chọn Install SearchCopy đoạn mã vào site mà bạn cần tìm kiếm (index.html)Chọn CHANGE CONFIGURATION để tùy chỉnh về màu sắc, cách hiển thị hoặc lấy code để chèn vào search box có sẵn trong website bạn.

Quick Sort

Thuật toán quicksort, với cách chọn chốt là phần tử ở giữa của dãy. Hãy thay pivot=data[left] nếu như bạn chọn phần tử đầu tiên làm chốt và pivot=data[right] nếu bạn chọn phần tử cuối cùng làm chốt.

def quicksort(data,left,right):
pivot=data[int((left+right)/2)]
i=left
j=right
while i<=j:
while data[i]<pivot:
i+=1
while data[j]>pivot:
j-=1
if i<=j:
temp=data[i]
data[i]=data[j]
data[j]=temp
i+=1
j-=1 if left<j:
quicksort(data,left,j)
if i<right:
quicksort(data,i,right)
return data
danhsach = [55,88,33,65,88,11,3,9,0,55,4,3,7,8,3]
ketqua = quicksort(danhsach,0,len(danhsach)-1)
print(ketqua)