Lấy tweets từ Twitter sử dụng Python Selenium

Selenium là công cụ khá quen thuộc được sử dụng trong việc test các sản phẩm web hoặc có thể làm công cụ để tự động hóa các thao tác trên website. Selenium hỗ trợ rất nhiều ngôn ngữ lập trình (như Java, C#, Python, Ruby, PHP, Perl, Javascript) cũng như hỗ trợ rất nhiều trình duyệt web (như Firefox, Opera, Chrome, Microsoft Edge, Safari …)

Trong bài viết này, chúng ta sẽ sử dụng Python Selenium để lấy các dữ liệu tweet từ trang web Twitter. Quy trình hoạt động của nó sẽ như sau:

– Mở trình duyệt web (ở đây tôi sử dụng Firefox) để vào trang Twitter search advanced
– Điền vào các tiêu chí để tìm kiếm tweet như: từ ngày, đến ngày, hashtag, …. (Bạn có thể tham khảo form tìm kiếm của Twitter tại đây => https://twitter.com/search-advanced)
– Submit form tìm kiếm, sau đó scroll màn hình web cho đến khi không còn tweet nào được load tiếp nữa.
– Bóc tách HTML từ trang web Twitter và lưu danh sách các tweets vào file .txt hoặc .html

Đoạn code dưới đây sẽ thực hiện các bước trên, do trong code đã comment khá kỹ nên tôi sẽ không giải thích thêm nữa. 😀  . Một số library Python quan trọng được sử dụng trong code là:

Lxml để bóc tách HTML
Selenium để điều khiển web browser từ Python

Thư viện tách từ tiếng Việt bằng Python 2

Mới tìm được một thư viện tách từ tiếng Việt cực ngon viết bằng python2 với độ chính xác kinh khủng, dành cho anh em nào đang nhập môn xử lý ngôn ngữ tự nhiên. Có cả tài liệu + thuật toán đầy đủ để anh em nghiên cứu. Ngoài ra còn kèm theo bộ data từ điển tiếng Việt cùng toàn bộ tên người và tỉnh thành tại Việt Nam

* Cho anh em nào chưa biết: tách câu là một vấn đề bắt buộc và cơ bản nhất để có thể xử lý tiếng Việt, trong tiếng anh nó phân cách từ bằng dấu cách nhưng tiếng Việt dấu cách nó lại để tách các âm tiết, ví dụ từ đất + nước đứng riêng sẽ là 2 tư khác nhau nhưng ghép chung lại thì nó lại mang nghĩa khác, thư viện này sẽ tự tìm các từ ghép để chúng ta xử lý câu văn dễ hơn

Link: https://github.com/roy-a/Roy_VnTokenizer

So sánh độ giống nhau giữa 2 chuỗi ký tự với Fuzzywuzzy trong Python

Hôm nay tình cờ rảnh việc lang thang Facebook thì 1 ông bạn post 1 library của C# về so sánh độ giống nhau giữa 2 chuỗi ký tự

https://fuzzystring.codeplex.com/

Keyword sử dụng để search Google “Fuzzy string”, vì không rành C# lắm nên quyết định tìm library cho Python, cuối cùng cũng có ^^

https://github.com/seatgeek/fuzzywuzzy

Cách sử dụng lib này cũng khá dễ dàng

Việc so sánh độ giống nhau giữa các chuỗi ký tự khá hữu ích trong việc crawl nhiều data từ nhiều website khác nhau, lúc đó việc so sánh để xếp chung data vào cùng 1 category khá là quan trọng, tránh trùng lặp dữ liệu. Một ví dụ thực tiễn về fuzzy string matching đó là các website thu thập dữ liệu về giá của sản phẩm, hoặc thu thập coupon …

Lập trình web bằng C++ với TreeFrog Framework

Ít ai nghĩ rằng C++ có thể được sử dụng để lập trình web, tuy nhiên với TreeFrog Framework bạn có thể dễ dàng làm được điều đó. Ưu điểm của việc dùng C++ để làm web là tốc độ và hiệu suất tốt hơn các ngôn ngữ khác (cái này thì đương nhiên), còn nhược điểm thì chắc là khá nhiều: ít framework hỗ trợ, cấu hình sẽ phức tạp hơn các ngôn ngữ chuyên để làm web khác như PHP, Ruby, C# …

Bài viết này sẽ hướng dẫn căn bản cách cài đặt TreeFrog Framework lên server Ubuntu.

1/ Cài đặt các thư viện cần thiết trên server

Đầu tiên chúng ta sẽ cài thư viện Qt và các dev tools

Tiếp theo cài đặt các thư viện database

2/ Cài đặt TreeFrog Framework

Tải source code của TreeFrog về, hiện tại là phiên bản 1.15.0 khi mình đang viết bài này, có thể truy cập vào link này để xem http://www.treefrogframework.org/download

Sau khi tải về file sẽ có dạng treefrog-framework-x.x.x.tar.gz với x.x.x là version của TreeFrog, giải nén source code bằng cách

Cài đặt source code

Các tutorial nâng cao hơn bạn có thể tham khảo tại trang chủ của tác giả: http://www.treefrogframework.org

Download / Upload file qua SFTP sử dụng Paramiko

Paramiko là 1 thư viện của Python giúp bạn có thể giao tiếp với server thông qua SSH 1 cách dễ dàng. Trong bài viết này tôi sẽ hướng dẫn bạn cách download và upload file lên server thông qua giao thức SFTP.

Bạn có thể tham khảo thêm toàn bộ API Docs của Paramiko tại http://docs.paramiko.org/en/2.0/

Chuyển file Word thành file PDF với Python

Module cần: comtypes

Code mẫu: 😀

 

Xử lý file excel chuyên nghiệp với các package của Python

Một số package của Python giúp xử lý nhiều task liên quan đến file excel

1/ openpyxl
Đây là 1 package khuyên dùng để đọc và ghi file Excel 2010 (.xlsx)
Tải về | Cách sử dụng | Bitbucket

2/ xlsxwriter
Một package khác cho việc xử lý dữ liệu excel, vẽ biểu đồ cho file Excel 2010 (.xlsx)
Tải về | Cách sử dụng | GitHub

3/ xlrd
Một package khác để đọc dữ liệu và format cho các file Excel version cũ (.xls)
Tải về | Cách sử dụng | GitHub

4/ xlwt
Sử dụng để ghi dữ liệu và format cho các file Excel version cũ (.xls)
Tải về | Cách sử dụng | Ví dụ | GitHub

5/ xlutils
Một package bao gồm nhiều tiện ích cho Excel (tổng hợp các chức năng của xlrd và xlwt)
Tải về | Cách sử dụng | GitHub

Convert file PDF với xtopdf

Xtopdf là 1 bộ tool hay 1 thư viện cho Python giúp tạo file PDF từ nhiều định dạng file khác.

Xtopdf hoạt động tốt với Python từ 2.2 trở lên, đã được test với các phiên bản Python 2.2.x -> 2.7.x, chưa thử nghiệm với Python 3 trở lên.

Trước khi sử dụng xtopdf thì phải cài sẵn package reportlab http://www.reportlab.com/

Còn đây là link tải toàn bộ toolkit xtopdf cho Python https://bitbucket.org/vasudevram/xtopdf/downloads