Clone trang web sau vài nốt nhạc

Vừa mới thử nghiệm với Python để crawl data có thể clone một trang web sau một nốt nhạc.

Mình sử dụng Anaconda để code Python, kết nối cơ sở dữ liệu MariaDB.

Các thành phần chính và công việc cần làm như sau:

Môi trường:

  • Ngôn ngữ lập trình Python
  • IDE sử dụng Anaconda
  • Database: MariaDB (tương tự MySQL) – để thử nghiệm cái mới vì nghe đồn MySQL dần dần mất tính nguồn mở
  • Một số thư viện chính: Kết nối giữa python và mysql, beautifulsoup để crawl.

Phương thức làm:

  • Khởi đầu là trang web của website hoặc blog là một link trong CSDL
  • Từ CSDL có link ta lấy toàn bộ link có cùng tên miền trong trang đó và lưu lại vào bảng
  • Lặp lại công việc trên với bảng trong CSDL. Việc lặp này tiệm cận đến việc lấy được toàn bộ trang web của nó (có thể không hết)
  • Từ danh sách các link này (loại bỏ trùng lặp) lần lượt lấy content của trang web và lưu lại vào CSDL của mình.

Tất nhiên nói đơn giản thì đơn giản nhưng sẽ vẫn có một số vấn đề cần phải giải quyết như tốc độ, các truy vấn mà trang đó cho phép…

Mình cũng đã thực hiện được một số thao tác cơ bản nhưng khá quan trọng và nói việc này trong tầm tay.

Backup blog theo cách điên rồ

Hôm vừa mình bước đầu viết được tool có thể crawl dữ liệu của một trang web, blog bất kỳ. Nay chợt nghĩ ra mình có thể dùng nó để backup một blog hay trang web nào đó của mình hay của người khác không?

Có thể chứ, dựa vào tên miền, tiến hành lấy toàn bộ link của tên miền, sau đó bóc tách toàn bộ nội dung và lưu lại. Cái này gọi là điên rồ vì các điểm:

  • Mất thời gian. Phải viết tools, script… để thực hiện toàn bộ các thao tác. Trong khi chỉ việc backup database và code đơn giản từ server về(đó là của mình). Còn của người khác thì đúng là chỉ có cách này.
  • Tốn băng thông và gây lỗi cho blog. Với cách này thì truy vấn đến trang rất nhiều như kiểu tấn công từ chối dịch vụ vậy. Hiện blog mình dùng cloudflare free, truy vấn nhiều nó báo lỗi 502 luôn

Đó chỉ là ý tưởng thôi nhưng cần kỹ thuật vài thứ, phải làm job các kiểu… Nhưng cứ coi đó là 1 slide project (pet project) cũng hay đó.

Danh sách link hay

Vẫn giữ ý tưởng rất rất lâu rồi mong muốn làm mà vẫn chưa thành công, vì chưa quyết tâm…

Đây sẽ là nơi lưu trữ danh sách các link mà mình cảm thấy hay muốn lưu lại để dùng lại, đọc lại về sau. Thôi bỏ qua những thứ lằng nhằng vẽ vời khác. Đơn giản chỉ lưu lại url, tittle và sau đó hiển thị random ra mà thôi.

Có lẽ đơn giản thì nên làm thủ công với wordpresss là lưu thành bài viết vậy… Vẫn thuộc dạng bỏ ngỏ.

Từ điển của tôi

Ý tưởng tự xây dựng bộ từ điển của riêng mình, cá nhân hóa từ điển. Có thể thơm bớt các từ mới.

Đối với 1 văn bản hoặc trang web cần dịch. Hệ thống sẽ trích xuất toàn bộ từ vựng trong danh sách này. So khớp với danh sách từ điển của bản thân và tiến hành đưa nghĩa các từ mà mình đã gặp để mình có thể hiểu nghĩa.

Có 3 trường hợp:
1: Từ vựng nằm trong từ điển, từ điển sẽ hiển thị lên, nhiều lần khi mình đã nhớ rồi thì có thể xóa đi khỏi từ điển
2: Từ vựng không nằm trong từ điển và là từ mới mình chưa biết-> Tiến hành dịch và thêm vào từ điển
3: Từ vựng không nằm trong từ điển và mình đã biết, không cần làm gì

Mình sẽ làm tính năng tạm thời offline bằng python. Từ điển được lưu và load bằng file excel.