Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 18 kết quả

Đề tài: Cách lấy kết quả tìm kiếm của google bằng c# như thế nào?

  1. #1
    Ngày gia nhập
    11 2007
    Bài viết
    48

    Mặc định Cách lấy kết quả tìm kiếm của google bằng c# như thế nào?

    ai biết cách nào lấy được kết quả từ trang tim kiếm của C# không vậy, chỉ em với
    em đã tìm ra được một cách ( http://www.geekpedia.com/tutorial74_...b-Service.html )
    nhưng tạo mãi cái license key không được
    ai biết cách nào khác hay cách tạo license key thì chì mình với

  2. #2
    Ngày gia nhập
    01 2008
    Bài viết
    148

    Mình có 1 cách :Bạn sử dụng cái thằng google để tìm kiếm
    ví dụ bạn muốn tìm từ khóa "Congdongcviet" thì bạn sẽ download code html của trang này về rồi phân tích bóc tách nội dung ra.
    http://www.google.com.vn/search?hl=v...meta=&aq=f&oq=
    mình chưa làm nhưng hình như nếu bạn làm kiểu này khi download code html về sẽ không thấy được tiếng việt.bạn sẽ phải làm một thủ thuật gì đó(mình biết vậy nhưng chưa làm)Bữa nào rảnh mình sẽ thử làm cái này vì trước mình đã viết module download trang web rồi.nhưng chưa test cái thằng google.
    Bạn cố tìm hiểu nhé,có gì trao đổi với mình

  3. #3
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Bạn lấy cả nội dung nó, rồi tạo 1 webbrowser đưa nguyên mã html lên.

    @ Ko sure à, nghĩ vậy thôi.

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    48

    cái đoạn tham khảo trên đã chỉ cách lấy từng phần và tách ra rồi (có thể áp dụng cho déktop cũng như web), nhưng nó đồi hỏi một cái license key (mỗi license chỉ được tạo 1000 quẻy trong một ngày). Nhưng mình tìm mãi mà vẫn chưa tạo được.

  5. #5
    Ngày gia nhập
    02 2009
    Bài viết
    34

    lấy các kết quả bạn có thể lấy content về sau đó dùng regular expression để lọc các kết quả từ content được trả về

  6. #6
    Ngày gia nhập
    01 2008
    Bài viết
    148

    Mặc định Cách lấy kết quả tìm kiếm của google bằng c# như thế nào?

    Sau khi bạn download code html về bạn sử dụng đối tượng Regex để bóc tách dữ liệu. Sau đó tùy bạn chế biến dữ liệu bóc tách được
    Chúc may mắn

  7. #7
    Ngày gia nhập
    01 2008
    Bài viết
    148

    Mình vừa test cái cách dùng thằng google để tìm kiếm.y như mình dự đoán sẽ có 1 lỗi sinh ra : "The remote server returned an error: (405) Method Not Allowed." . Mình nghĩ thằng google nó chặn những yêu cầu không phải là yêu cầu của sever.
    Đơn giản ví dụ mình có 1 trang php : chắc các bạn sẽ hiểu thằng google nó là thế nào
    PHP Code:
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <title>Untitled Document</title>
    6. <?php
    7. if(!$_SERVER["HTTP_ACCEPT_ENCODING"] && !$_SERVER["HTTP_ACCEPT_LANGUAGE"])
    8.  {
    9.  echo "Data Error!";
    10.  exit();
    11.  }
    12. ?>
    13. </head>
    14.  
    15. <body>
    16. Hello every body</body>
    17. </html>
    NẾu mình dùng trình duyệt gọi trang này thì nó hiện ra dòng "Hello every body" còn nếu dùng đối tượng WebRequest và WebResponse để download
    như ví dụ dưới thì nó sẽ ra về "Data Error!"

    Visual C# Code:
    1. //Đây là hàm dùng để download code html
    2. public string GetHtmlFromUrl(string urlWeb)//mình đã cắt bớt những dòng bắt lỗi
    3.         {
    4.  
    5.             HttpWebRequest lRequest = (HttpWebRequest)WebRequest.Create(urlWeb);
    6.             lRequest.Credentials = CredentialCache.DefaultCredentials;
    7.             lRequest.Timeout = 15000;
    8.             // NetworkCredential lNetCredit = new NetworkCredential("username", "password!", "domain");
    9.             // lRequest.Credentials = lNetCredit; // ủy nhiệm gửi đi
    10.  
    11.             System.Net.WebProxy pry = new WebProxy("fw.nox.vn", 8080);
    12.             pry.Credentials = CredentialCache.DefaultCredentials;//lNetCredit;//ủy nhiệm web proxy
    13.             WebRequest.DefaultWebProxy = pry;
    14.            
    15.            
    16.                 webResponse = (HttpWebResponse)lRequest.GetResponse();
    17.                 if (webResponse.StatusDescription == "OK")
    18.                 {
    19.                     Stream responseStream = webResponse.GetResponseStream();
    20.                     using (StreamReader reader = new StreamReader(responseStream, Encoding.UTF8))
    21.                     {
    22.                         lHtml = reader.ReadToEnd();
    23.                     }
    24.                 }
    25.                 else
    26.                 {
    27.                     lHtml = "ReceiveFailure";
    28.  
    29.                 }
    30.                
    31.                
    32.            return lHtml;
    33.  
    34.         }
    Để giải quyết vấn đề trên,mà vẫn dùng cách tìm kiếm của thằng google thì theo mình bạn nên kết hợp cả ajax vào sẽ OK.
    Có bạn nào làm cái này rồi có thể chia sẽ kinh nghiệm ở đây không?

  8. #8
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Trích dẫn Nguyên bản được gửi bởi vinhson Xem bài viết
    ai biết cách nào lấy được kết quả từ trang tim kiếm của C# không vậy, chỉ em với
    em đã tìm ra được một cách ( http://www.geekpedia.com/tutorial74_...b-Service.html )
    nhưng tạo mãi cái license key không được
    ai biết cách nào khác hay cách tạo license key thì chì mình với
    Cách của bạn là cách đúng nhất để lấy result từ google (Sử dụng WSDL). Tuy nhiên hình như là giờ google ko còn hỗ trợ dịch vụ này nữa mà thay bằng ajax. Nên chỉ có cách là phân tích HTML tuy rằng cách này hơi bưởi.

    Trích dẫn Nguyên bản được gửi bởi api.google.com
    - Why do I need a license key?
    The license key uniquely identifies you to Google. We use it to provide your daily limit of 1,000 free queries.

    - How do I get a license key?
    We are no longer issuing new API keys for the SOAP Search API. Depending on your application, the AJAX Search API may be a better choice for you instead. It tends to be better suited for search-based web applications and supports additional features like Video, News, Maps, and Blog search results.
    Đã được chỉnh sửa lần cuối bởi ZCoder87 : 06-04-2009 lúc 05:56 PM.

  9. #9
    Ngày gia nhập
    03 2008
    Bài viết
    9

    Phân tích câu truy vấn. Sử dụng hàm HttpRequest để gửi truy vấn và HttpResponse để nhận về. That's all

  10. #10
    Ngày gia nhập
    11 2007
    Bài viết
    48

    Trích dẫn Nguyên bản được gửi bởi ZCoder87 Xem bài viết
    Cách của bạn là cách đúng nhất để lấy result từ google (Sử dụng WSDL). Tuy nhiên hình như là giờ google ko còn hỗ trợ dịch vụ này nữa mà thay bằng ajax. Nên chỉ có cách là phân tích HTML tuy rằng cách này hơi bưởi.
    ừ nó hết dùng từ năm 2006 rồi.
    con cái mới của nò thì hình như chỉ hỗ trợ cho ứng dụng web. Con application thi thử mãi không được

Các đề tài tương tự

  1. Socket Lấy kết quả tìm kiếm của google vào form C#?
    Gửi bởi rongdatbg trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 25-09-2012, 11:31 PM
  2. Google đưa cả nội dung Gmail vào kết quả tìm kiếm
    Gửi bởi quynhcute trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 09-08-2012, 01:38 PM
  3. Cách lấy số kết quả tìm kiếm của google bằng Regular Expression?
    Gửi bởi chuyentinh_t2thezoo trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 29-05-2012, 04:14 PM
  4. Xây dựng chức năng tìm kiếm ưu tiên kết quả như google trong C#?
    Gửi bởi trungak0902 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 13-04-2012, 10:10 PM
  5. tạo form tìm kiếm giống Google như thế nào
    Gửi bởi nguyenthang0702 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 24-04-2011, 09:00 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn