Home Chia sẻ Tổng hợp các công nghệ sử dụng để code tool Crawler Comic

Author

Date

Category

Không có gì quá cao siêu. Bài viết này sẽ trả lời cho các bạn coder biết, những công nghệ, thư viện mà tôi đã sử dụng, để code tool crawler comic. Từ đó giúp các bạn hiện thực tiếp các ý tưởng khác tương tự.

Nếu bạn chưa dùng thử tool tải truyện tranh miễn phí Crawler Comic của mình. Thì mời bạn dùng thử luôn. Nó hoàn toàn miễn phí. 🙂

Kiến thức cần nắm trước khi theo dõi bài viết:
– DOM (Document Object Model): Phân các thẻ HTML thành các Node. Việc phân cấp và sử dụng nó như thế nào? Các bạn có thể tham khảo tại : http://www.w3schools.com/js/js_htmldom.asp

1. Html Agility Pack

Dữ liệu nguồn của crawler comic là các trang web truyện. Thường các web này sẽ không publish API để các bạn có thể lấy dữ liệu về được. Để làm được điều này mình đã dùng thư viện Html Agility Pack.

Thư viện này cho phép bạn lấy được nội dung HTML của một trang web, và coi nó như là một tài liệu XML. Kết hợp sử dụng cú pháp của XPath để có thể truy vấn tới các Node. Từ đó lấy ra dữ liệu mà mình muốn.

Cách cài đặt Html Agility Pack qua nuget console: Install-Package HtmlAgilityPack

Ví dụ về 3 cách đọc dữ liệu dạng html từ c# bằng Html Agility Pack

// From File
var doc = new HtmlDocument();
doc.Load("Đường dẫn của file html");

// From String
var doc = new HtmlDocument();
doc.LoadHtml("Dữ liệu cấu trúc dạng html");

// From Web
var url = "http://doninhtatdiep.com";
var web = new HtmlWeb();
var doc = web.Load(url);

Riêng thằng này, mình sẽ có 1 bài viết riêng để hướng dẫn cụ thể cách sử dụng. Thông qua một số ví dụ để các bạn hiểu hơn.

2. XPath

XPath là cú pháp có thể được sử dụng để truy vấn tới các phần tử và thuộc tính trong tài liệu XML, HTML, XSLT, JavaScript… Cá nhân mình đánh giá nó là một cú pháp rất đáng học. Vì trong nghiệp coder, bạn sẽ còn phải va vấp phải nó rất nhiều.

Một số cú pháp truy vấn bằng XPath:

Cú phápKết quả
/div/span[1]Tìm tới thẻ span đầu tiên trong số các thẻ span con của div
/div/span[last()]Tìm tới thẻ span cuối cùng trong số các thẻ span con của div
//span[@uid]Tìm tới tất cả các thẻ span có thuộc tính uid
//span[@uid=’25 ‘]Truy vấn tới tất cả các thẻ span có thuộc tính uid = 25
/store/pen[@price>11.0]Tìm tới tất cả các thẻ pen là thẻ con của store mà có thuộc tính price >11.0
//*[@class=’image’]Tìm tới tất cả các thẻ bất kỳ mà có thuộc tính class=’image’
//div[contains(@class, 'image')]Tìm tới tất cả các thẻ div mà 1 trong số class của nó = ‘image
Một số cú pháp truy vấn phổ thông của XPath

Các bạn có thể vào https://www.w3schools.com/xml/xpath_intro.asp. Để trực tiếp học và thực hành nhiều hơn.

3. FontAwesome.Sharp

Công cụ này là 1 thư viện, giúp mình thêm các biểu tượng của Font Awesome vào các control của winform. Với bộ thư viện icon cực kỳ phong phú và đầy đủ về các thể loại. Bạn sẽ không phải lọ mọ đi tìm icon ở đâu cho đồng nhất và chuyên nghiệp nữa.

Cách cài đặt FontAwesome.Sharp qua nuget console: Install-Package FontAwesome.Sharp

4. Ionic.Zip

Ionic.Zip là một thư viện và bộ công cụ MIỄN PHÍ, NHANH CHÓNG để thao tác các tệp zip. Sử dụng VB, C # hoặc bất kỳ ngôn ngữ .NET nào để dễ dàng tạo, trích xuất hoặc cập nhật tệp zip.

Mình dùng thư viện này để sau khi tải ảnh của 1 chapter về máy. Sau đó, ứng dụng sẽ chạy tiếp 1 tiến trình để nén các ảnh này vào 1 file zip. (Nếu người dùng cấu hình tải về dưới dạng file zip)

Cách cài đăt Ionic.Zip qua nuget console: Install-Package Ionic.Zip

5. PdfSharp

PdfSharp là thư viện .NET nguồn mở dễ dàng tạo và xử lý các tài liệu PDF một cách nhanh chóng từ bất kỳ ngôn ngữ .NET nào. Bạn có thể tạo, chỉnh sửa, tách hoặc gộp các file PDF lại rất đơn giản và code gọn gàng. 😀

Mình dùng thư viện này để chuyển các file ảnh gộp thành 1 file PDF duy nhất. Và có chỉnh sửa chèn lên mỗi trang PDF 1 ký hiệu. Để biết file được tải về bằng tool Crawler Comic.

Cách cài đăt PdfSharp qua nuget console: Install-Package PdfSharp

6. Guna.UI2

Guna.UI2 là một bộ component xây dựng sẵn. Nó giúp mình dựng giao diện form trông mượt hơn. Cụ thể ở tool Crawler Comic mình đang dùng nó để làm form thông báo.

Rất tiếc là con này có phải mua để sử dụng, và tất nhiên hiện tại mình đang dùng bản crack. 😀

Mọi đóng góp ý kiến, các bạn vui lòng comment ở dưới bài viết. Xin cám ơn!

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Recent posts

Thu thập nội dung trang web với HTML Agility Pack

HTML Agility Pack là một trình phân tích cú pháp HTML mạnh mẽ. Trả về đối tượng kiến trúc dạng DOM, để...

Tổng hợp các công nghệ sử dụng để code tool Crawler Comic

Không có gì quá cao siêu. Bài viết này sẽ trả lời cho các bạn coder biết, những công nghệ, thư viện...

Tải full truyện tranh miễn phí với Crawler Comic

Crawler Comic là một ứng dụng nhỏ do tôi phát triển. Cho phép người dùng tải về những bộ manga, truyện tranh Nhật Bản, ưa thích của mình. Xuất ra các định dạng thông dụng như ảnh, pdf, zip. Và dễ dàng đọc trên pc hoặc các thiết bị cầm tay như điện thoại, ipab...

Recent comments

0
Would love your thoughts, please comment.x
()
x