Bài viết mới

[C#] Viết ứng dụng get dữ liệu google suggest trong lap trinh csharp

[C#] Viết ứng dụng get dữ liệu google suggest trong lap trinh csharp
Đăng bởi: Thảo meo - Lượt xem: 850 18:00:49, 23/03/2017CSHARP   In bài viết

Hôm nay, mình xin tiếp tục hướng dẫn cho các bạn viết một ứng dụng, lấy dữ liệu của google suggest theo từ khóa trong lập trình csharp.

Vậy google suggest là gì?

Google Suggest là tính năng tự động hoàn thiện truy vấn tìm kiếm của các công cụ tìm kiếm trong hộp tìm kiếm dựa trên sự phổ biến của từ khóa.

Lợi ích của google suggest:

Tính năng này giúp người sử dụng các công cụ tìm kiếm như google, bing, yahoo, baidu,…  tiết kiệm thời gian tìm kiếm khi không phải mất công gõ hết các ký tự trong từ khóa mà mình cần tìm kiếm. Đề xuất, sửa sai chính tả, lặp lại 1 từ khóa tìm kiếm mà mình  yêu thích.

Google Suggest được tạo ra dựa vào mức độ, tần suất truy vấn tại 1 khu vực địa lý để tạo ra những gợi ý nhanh. Những truy vấn gợi ý này được Google tự động lấy. Các từ khóa liên quan được xổ ra là vì từ khóa đó được nhiều người quan tâm và tìm kiếm nhiều.

Giao diện demo của ứng dụng C#

sử dụng google suggest trong lập trình csharp

Google cho phép chúng ta sử dụng phương thức Get để get dữ liệu google theo từ khóa và trả về cho chúng ta một file XML. Và dựa vào kết quả trả về chúng ta sử dụng hàm đọc các node element trong file trả về để hiển thị lên Richtextbox trong C#.

Dưới đây là cú pháp để lấy dữ liệu google suggest.

http://www.google.com/complete/search?output=toolbar&q={0}&hl=en

Tham số q= đây là nơi chúng ta truyền từ khóa vào.

Ví dụ: Mình sử dụng đoạn truy vấn sau.

http://www.google.com/complete/search?output=toolbar&q=lap+trinh+vb+net&hl=en

Dưới đây, là kết quả chúng ta thu được khi chạy đường dẫn này trên trình duyệt Web Chrome.

<toplevel>
<CompleteSuggestion>
<suggestion data="lap trinh vb net"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lập trình vb.net với cơ sở dữ liệu"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lap trinh vb.net can ban"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lập trình vb.net cơ bản"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lap trinh vb.net voi sql"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lập trình vb net nâng cao"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lập trình vb.net 2008"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lap trinh vb.net voi excel"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lập trình vb.net cho autocad"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="lập trình vb.net theo mô hình 3 lớp"/>
</CompleteSuggestion>
</toplevel>

Và dưới đây là source code được viết bằng ngôn ngữ lập trình C#, giúp các bạn truy vấn và hiển thị dữ liệu ra Richtextbox.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;

namespace google_suggest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        private const string _suggestSearchUrl = "http://www.google.com/complete/search?output=toolbar&q={0}&hl=en";

        public async Task> GetSearchSuggestions(string query)
        {
            if (String.IsNullOrWhiteSpace(query))
            {
                throw new ArgumentException("Argument cannot be null or empty!", "query");
            }

            string result = String.Empty;

            using (HttpClient client = new HttpClient())
            {
                result = await client.GetStringAsync(String.Format(_suggestSearchUrl, query));
            }

            XDocument doc = XDocument.Parse(result);

            var suggestions = from suggestion in doc.Descendants("CompleteSuggestion")
                              select new GoogleSuggestion
                              {
                                  Phrase = suggestion.Element("suggestion").Attribute("data").Value
                              };

            return suggestions.ToList();
        }

        private async void button1_Click(object sender, EventArgs e)
        {
            txtResult.Text = null;
            List x = new List();
             x = await GetSearchSuggestions(txtKeyword.Text);
            foreach (GoogleSuggestion item in x)
            {
                txtResult.Text = txtResult.Text + item.Phrase + "
";
            }

        }
    }


    public class GoogleSuggestion
    {
        public string Phrase { get; set; }
        public override string ToString()
        {
            return this.Phrase;
        }
    }

}

Với ứng dụng, giúp chúng ta biêt được từ khóa đang hot, giúp chúng ta có chiến lược viết bài SEO cho từ khóa của mình một cách hợp lý.

HAVE FUN!

SOURCE CODE

[C#] Viết ứng dụng get dữ liệu google suggest trong lap trinh csharp
Đăng bởi: Thảo meo - Lượt xem: 850 18:00:49, 23/03/2017CSHARP   In bài viết

THẢO LUẬN BÀI VIẾT

BÀN XẾP GỌN THÔNG MINH 4 IN 1

bàn xếp gọn thông minh 4 in 1

PHẦN MỀM LẤY TIN BẤT ĐỘNG SẢN

phần mềm lấy tin tự động bất động sản

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp

PHẦN MỀM LẤY TIN BẤT ĐỘNG SẢN

phần mềm lấy tin tự động bất động sản
.