Google Dork Là Gì

  -  

Trong bài Cách tìm kiếm với Google, tôi có giới thiệu một vài hướng tìm kiếm nâng cao với Google. Kỹ thuật tìm kiếm đó được gọi là Google Dork hay Google hacking.

Bạn đang xem: Google dork là gì

*

Cách tìm kiếm này rất hiệu quả trong việc tìm kiếm thông tin mà ta cần. Nó tăng độ chính xác cho từ khóa tìm kiếm, giảm thời gian tìm kiếm, vân vân và mây mây.

Nhưng có một vấn đề đặt ra nếu kết quả có nhiều việc thủ công xem xét từng trang một là không hiệu quả. Nếu có một cách nào đó tự động lấy được tất cả các link trên sẽ giảm thời gian của ta đi rất nhiều.

Vì vậy, tôi đã tìm trên Google cách để giải quyết vấn đề đang gặp phải. Và phát hiện ra một bài hướng dẫn How To Scrape Google With Python. Bài hướng dẫn này rất cơ bản và dễ hiểu cho người mới.

Hãy bắt đầu code nào!!!

1. Chuẩn bị môi trường

Note: python2 đã không còn được hỗ trợ sửa lỗi từ nhà phát triển nữa.

2. Bắt đầu code

Cài đặt thư viện cần thiết

Đầu tiên cần cài đặt các thư viện cần thiết cho chương trình. Tạo một file requirements.txt và chèn vào nội dung sau:

requestsbs4Sau đó chạy lệnh

# Python3pip3 install -r requirements.txt# Python2pip install -r requirements.txt --user

Thêm thư viện

Để chương trình sử dụng được các hàm từ thư viện, ta cần import chúng vào trong chương trình.

import urllibimport requestsfrom bs4 import BeautifulSoup

Chuẩn bị câu truy vấn

Google sử dụng phương thức GET để nhận dữ liệu từ người dùng nhập vào ô tìm kiếm. Vì vậy ta cần phải tạo ra một địa chỉ URL (URI) tương tự khi ta tìm kiếm trên trình duyệt. Nội dung của từ khóa tìm kiếm được truyền cho tham số q.

query = "site:nethuerestaurant.com.vn cach tim kiem voi google"query = urllib.parse.quote(query)URL = f"https://google.com/search?q={query}"Google trả kết quả có sự khác biệt khi ta sử dụng PC/Laptop hoặc mobile. Làm sao Google biết được điều này, đó là nhờ vào User-Agent. Vì vậy, ta cần chỉ định User-Agent cho mỗi request tìm kiếm.

Xem thêm: Hướng Dẫn Và Kinh Nghiệm Đi Núi Hàm Lợn Trong Ngày, Hướng Dẫn Và Kinh Nghiệm Phượt Núi Hàm Lợn

# desktop user-agentUSER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0"# mobile user-agentMOBILE_USER_AGENT = "Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36"Sau khi đã User-Agent tiếp theo cần làm là chèn vào Header của HTTP. Tại sao lại cần chèn vào Header HTTP? Đó là bởi vì nếu không chèn vào thì lúc ta gửi đi sẽ không có thông tin đó.

headers = {"User-Agent": USER_AGENT}

Thực thi

Đến đây, ta đã có đủ thông tin cần thiết cho việc gửi một GET HTTP requests và nhận lại kết quả tương ứng từ Google.

resp = requests.get(URL, headers=headers)print(resp.text)Khi chạy lên ta thu được kết quả như ảnh dưới.

*

Không phải lúc nào ta cũng nhận được kết quả như mong muốn (tức là server phải hồi với HTTP status code 200). Vì vậy, ta cần phải kiểm tra kết quả trước khi thực hiện phân tích mã nguồn HTML. Kiểm tra rằng nếu server trả về 200 thì mới tiến hành phân tích HTML thông qua Beautiful Soup.

if resp.status_code == 200: soup = BeautifulSoup(resp.content, "html.parser")Sau khi có kết quả phản hồi từ Google, ta tiến hành tìm kiếm các link kết liên kết đến kết quả mong muốn. Công việc phân tích HTML để lấy ra kết quả được sự trợ giúp của Beautiful Soup sẽ giảm bớt gánh nặng cho ta. Khi lặp qua toàn bộ code HTML trích xuất kết quả và lưu vào trong một mảng.

results = <>for g in soup.find_all("div", class_="r"): anchors = g.find_all("a") if anchors: link = anchors<0><"href"> title = g.find("h3").text item = { "title": title, "link": link} results.append(item) for result in results: print(result<"link">)Vậy là xong phần phân tích và lưu kết quả. Bây giờ cùng chạy thử nghiệm.

*

OK! Vậy là ngon lành cành đào rồi.

Xem thêm: Cách Đặt Phòng Singapore Giá Rẻ, Giá Thấp Nhất, Cách Đặt Phòng Khách Sạn Singapore Giá Rẻ

Đến đây ta có thể cài tiến thêm một chút là từ khóa tìm kiếm được nhập vào hoặc lấy từ tham số.