🥳Tham gia Cộng đồng Scrapelessnhận thử nghiệm miễn phí của bạn để truy cập Bộ công cụ Web Scraping mạnh mẽ của chúng tôi!
Quay lại blog

Cách dùng Python để trích xuất dữ liệu từ Google Maps?

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

13-Feb-2025

Google Maps dữ liệu thu thập là quá trình trích xuất thông tin như tên doanh nghiệp, địa điểm và đánh giá từ Google Maps bằng các công cụ hoặc tập lệnh tự động.

Trong bài đăng trên blog này, chúng ta sẽ thảo luận về những lợi ích của việc thu thập dữ liệu Google Maps và hướng dẫn cách thực hiện việc này bằng Python và các công cụ tự động.

Những lợi ích của việc thu thập dữ liệu Google Maps là gì?

Thu thập dữ liệu Google Maps cung cấp thông tin kinh doanh có giá trị và những hiểu biết dựa trên vị trí. Dưới đây là những lợi ích chính:

Trích xuất thông tin doanh nghiệp – Thu thập các chi tiết cần thiết như tên doanh nghiệp, địa chỉ, số điện thoại, trang web, xếp hạng, đánh giá và giờ mở cửa. Dữ liệu này hữu ích cho việc tạo khách hàng tiềm năng, danh sách thư mục và tiếp cận khách hàng.

Thực hiện phân tích thị trường và nghiên cứu đối thủ cạnh tranh – Phân tích xu hướng thị trường, xác định các đối thủ cạnh tranh chính và đánh giá mật độ kinh doanh tại các vị trí cụ thể. Điều này giúp các doanh nghiệp đưa ra quyết định sáng suốt về việc mở rộng, chiến lược giá cả và tương tác với khách hàng.

Nâng cao khả năng trực quan hóa và tối ưu hóa dữ liệu địa lý – Cải thiện phạm vi dịch vụ, tối ưu hóa tuyến đường giao hàng và lập kế hoạch vị trí cửa hàng dựa trên phân bố doanh nghiệp trong thế giới thực. Các công ty có thể sử dụng dữ liệu này để nâng cao hiệu quả hoạt động và khả năng tiếp cận khách hàng.

Thách thức của việc thu thập dữ liệu Google Maps

Thu thập dữ liệu Google Maps đi kèm với những thách thức đáng kể do các cơ chế chống thu thập dữ liệu nghiêm ngặt của nó. Google áp đặt giới hạn tốc độ, CAPTCHA và hạn chế API để ngăn chặn việc trích xuất dữ liệu tự động, khiến việc thu thập dữ liệu quy mô lớn trở nên khó khăn nếu không gặp phải các khối.

Một thách thức khác là bản chất năng động của Google Maps, dựa vào JavaScript để tải thông tin doanh nghiệp. Các phương pháp thu thập dữ liệu truyền thống dựa trên phân tích HTML tĩnh là không hiệu quả, yêu cầu sử dụng trình duyệt không đầu hoặc khung tự động hóa để tương tác với trang và trích xuất dữ liệu.

Để bỏ qua những hạn chế này, người thu thập dữ liệu phải thực hiện các kỹ thuật như luân phiên proxy và giả mạo User-Agent. Những phương pháp này giúp phân phối các yêu cầu trên nhiều IP và mô phỏng hành vi của người dùng thực, giảm khả năng bị phát hiện và đảm bảo quá trình thu thập dữ liệu ổn định hơn.

2 Phương pháp đặc biệt để thu thập dữ liệu Google Maps

1. Google Maps Scraping API

Google có cung cấp API Scraping không?
Có.

Nhiều trang web phổ biến, như Twitter và Amazon, cung cấp API của riêng họ, và Google cũng không ngoại lệ. Khi Google Maps API được ra mắt lần đầu tiên, nó đã nhanh chóng thu hút sự chú ý và được áp dụng rộng rãi. Tuy nhiên, trước khi sử dụng API chính thức, hãy tự hỏi mình: Bạn có thực sự cần sử dụng Google Maps API không?

Tại sao việc sử dụng API Google Maps chính thức không phù hợp với nhu cầu của bạn?

Hãy bắt đầu với giá cả. Mỗi người dùng nhận được hạn ngạch miễn phí hàng tháng là 200 đô la cho Google Maps API, bao gồm:

  • Tối đa 40.000 yêu cầu địa lý
  • Tối đa 100.000 lượt tải bản đồ tĩnh
  • Tối đa 28.000 lượt tải bản đồ động
  • Tối đa 40.000 yêu cầu lập kế hoạch tuyến đường

Thoạt nhìn, hạn ngạch này có vẻ đủ, nhưng trên thực tế, nó có thể không đủ. Giống như nhiều API khác, Google Maps API tính phí cho mỗi yêu cầu khi hạn ngạch miễn phí đã được vượt quá, và giá cả của nó tương đối cao. Hãy xem xét trường hợp này: khi sử dụng Embed API, một lượt tải bản đồ duy nhất có thể kích hoạt nhiều cuộc gọi API, chẳng hạn như tìm kiếm địa chỉ, lập kế hoạch tuyến đường hoặc tính toán khoảng cách, nhanh chóng tiêu hao hạn ngạch của bạn. Khi doanh nghiệp của bạn mở rộng, các cuộc gọi API tăng lên và Google Maps API có thể trở thành một khoản chi phí tốn kém.

Ngoài giá cả, Google Maps API cũng có những hạn chế về yêu cầu nghiêm ngặt. Hiện tại, Google đang thực thi giới hạn tốc độ 100 yêu cầu mỗi giây, điều đó có nghĩa là trong các trường hợp đồng thời cao, quyền truy cập có thể bị hạn chế, ảnh hưởng đến hiệu quả truy xuất dữ liệu.

Tôi vẫn có thể sử dụng API để thu thập dữ liệu Google Maps không?

Chắc chắn rồi! Bạn chỉ cần một dịch vụ API có giá cả phải chăng, ổn định và an toàn. Tuy nhiên, việc tìm thấy một dịch vụ đáp ứng tất cả các tiêu chí này là vô cùng khó khăn! May mắn thay, Scrapeless Google Maps API nổi bật giữa nhiều sản phẩm API:

🔴 Tiết kiệm chi phí: Mỗi cuộc gọi API chỉ tốn từ 0,80 đô la, và với gói đăng ký 49 đô la, bạn sẽ được giảm giá 10%!

🔴 Dữ liệu chính xác: Các nhà phát triển của chúng tôi liên tục phân tích các thuật toán và hạn chế thu thập dữ liệu của Google để đảm bảo API được cập nhật và tối ưu hóa.

🔴 Ổn định và tỷ lệ thành công cao: Scrapeless đảm bảo tỷ lệ thành công và độ tin cậy 99%. Độ ổn định và độ chính xác của việc thu thập dữ liệu Google Trends đã đạt gần 100%! Hiện tại, thời gian phản hồi trung bình là khoảng 3 giây, nhanh hơn đáng kể so với hầu hết các nhà cung cấp API khác. Hơn nữa, dữ liệu được trả về ở định dạng JSON chuẩn, sẵn sàng để sử dụng ngay lập tức.

Scrapeless đã nhận được sự tin tưởng của hơn 2.000 người dùng doanh nghiệp! Tham gia Discord ngay bây giờ để nhận Phiên bản dùng thử miễn phí của bạn! Chỉ có 1.000 suất có sẵn trong thời gian giới hạn — hãy hành động nhanh chóng!

Đọc thêm:

2. Thu thập dữ liệu Web

Web Scraper là một trong những phương pháp phổ biến nhất để thu thập dữ liệu trang web. Bạn có thể tự xây dựng công cụ thu thập dữ liệu Google Maps của riêng mình để trích xuất dữ liệu cụ thể. Trong bài viết này, chúng ta sẽ sử dụng Python Google Maps Scraper để thu thập dữ liệu các vị trí và tuyến đường cụ thể từ bản đồ.

Hãy tiếp tục cuộn xuống!

Phương pháp 1. Thu thập dữ liệu bằng Google Maps API

Bước 1. Thu được API Key của bạn

Để bắt đầu, bạn cần lấy API Key của mình từ Bảng điều khiển Scrapeless:

  • Đăng nhập vào Bảng điều khiển Scrapeless.
  • Điều hướng đến Quản lý API Key.
  • Nhấp vào Tạo để tạo API Key duy nhất của bạn.
  • Sau khi tạo, chỉ cần nhấp vào API Key để sao chép nó.
Thu được API Key của bạn

Bước 2: Nhập API Key của bạn

Bây giờ bạn có thể sử dụng API Key của mình để tích hợp Scrapeless vào dự án của mình. Làm theo các bước sau để kiểm tra và triển khai API:

  • Truy cập Tài liệu API.
  • Nhấp vào "Thử nghiệm" cho điểm cuối mong muốn.
  • Nhập API Key của bạn vào trường "Auth".
  • Nhấp vào "Gửi" để nhận phản hồi thu thập dữ liệu.
Sử dụng API Key của bạn trong Code

Dưới đây là một đoạn mã mẫu mà bạn có thể tích hợp trực tiếp vào Google Maps Scraper của mình.

Python

Python Copy
import http.client
import json

conn = http.client.HTTPSConnection("api.scrapeless.com")
payload = json.dumps({
   "actor": "scraper.google.maps",
   "input": {
      "engine": "google_maps",
      "q": "coffee",
      "type": "search",
      "ll": "@40.7455096,-74.0083012,14z",
      "hl": "en",
      "gl": "us"
   }
})
headers = {
   'Content-Type': 'application/json'
}
conn.request("POST", "/api/v1/scraper/request", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

JavaScript

JavaScript Copy
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
   "actor": "scraper.google.maps",
   "input": {
      "engine": "google_maps",
      "q": "coffee",
      "type": "search",
      "ll": "@40.7455096,-74.0083012,14z",
      "hl": "en",
      "gl": "us"
   }
});

var requestOptions = {
   method: 'POST',
   headers: myHeaders,
   body: raw,
   redirect: 'follow'
};

fetch("https://api.scrapeless.com/api/v1/scraper/request", requestOptions)
   .then(response => response.text())
   .then(result => console.log(result))
   .catch(error => console.log('error', error));

Phương pháp 2. Xây dựng Google Maps Scraper đầu tiên của bạn bằng Python

Thiết lập môi trường

Đầu tiên, chúng ta cần thiết lập môi trường thu thập dữ liệu web bằng cách chuẩn bị các công cụ sau:

  1. Python: Tải xuống từ trang web chính thức của Python. Nên cài đặt phiên bản cách phiên bản mới nhất một hoặc hai bản phát hành, thay vì phiên bản mới nhất.
Python
  1. Python IDE: Bất kỳ IDE nào hỗ trợ Python đều hoạt động, nhưng chúng tôi khuyên bạn nên sử dụng PyCharm, một công cụ phát triển Python chuyên dụng. Phiên bản PyCharm Community Edition miễn phí là đủ.
Python IDE

Lưu ý dành cho người dùng Windows:
Trong quá trình cài đặt, hãy đảm bảo rằng tùy chọn "Thêm python.exe vào PATH" được chọn. Điều này cho phép bạn sử dụng các lệnh Python trong terminal. Vì Python 3.4 trở lên đã bao gồm điều này theo mặc định, nên không cần thiết lập thủ công.

Thêm python.exe vào PATH

Để kiểm tra xem Python đã được cài đặt chưa, hãy mở terminal hoặc dấu nhắc lệnh và chạy:

Bash Copy
python --version
  1. Môi trường ảo: Việc tạo môi trường ảo được khuyến nghị để quản lý các phụ thuộc và tránh xung đột với các dự án Python khác. Điều hướng đến thư mục dự án của bạn trong terminal và thực hiện lệnh sau để tạo môi trường ảo có tên "google_flights_env":
Bash Copy
python -m venv google_flights_env

Kích hoạt môi trường ảo bằng lệnh phù hợp với hệ điều hành của bạn:

  • Windows:
Bash Copy
google_flights_env\Scripts\activate
  • macOS/Linux:
Bash Copy
source google_flights_env/bin/activate
  1. Cài đặt các thư viện cần thiết: Sau khi kích hoạt môi trường ảo, vui lòng cài đặt các thư viện Python cần thiết để thu thập dữ liệu web: requestsBeautifulSoup4. Cài đặt chúng theo lệnh của chúng tôi:
Bash Copy
pip install requests
pip install beautifulsoup4
  1. Cài đặt các công cụ tự động hóa: Vì Google Maps không trả về trang HTML trực tiếp để phân tích cú pháp, nên cần các công cụ tự động hóa để truy xuất HTML thô.
  • Cài đặt Selenium, một gói tự động hóa Python:
Bash Copy
pip install selenium
  • Bạn cũng cần tải xuống trình điều khiển trình duyệt. Lấy trình duyệt Google Chrome được sử dụng phổ biến nhất làm ví dụ, tìm ChromeDriver khớp với phiên bản trình duyệt trên trang web chính thức, tải xuống và cài đặt cục bộ, sau đó đặt nó vào thư mục code trong PyCharm.
ChromeDriver

Sử dụng Python để thu thập dữ liệu vị trí hoặc tuyến đường dẫn hướng

Thu thập dữ liệu vị trí

Bước 1: Mở Google Maps và tìm kiếm "coffee".

Thu thập dữ liệu vị trí

Bước 2. Thu thập dữ liệu các trường cụ thể từ kết quả tìm kiếm Google Maps.

Chúng ta có thể sử dụng BeautifulSoup để phân tích cú pháp HTML và định vị các phần tử chứa thông tin mong muốn. Dưới đây là một số ví dụ:

  • Thu thập dữ liệu tên quán cà phê:
Thu thập dữ liệu tên quán cà phê

Trích xuất phần tử và sử dụng Python để thu thập dữ liệu văn bản:

Python Copy
def scrape_title(listing):
    maps_element = listing.select_one('div.NrDZNb div.qBF1Pd.fonHeadlineSmall')
    return maps_element.text.strip()
  • Thu thập dữ liệu xếp hạng:
Thu thập dữ liệu xếp hạng

Trích xuất phần tử và sử dụng Python để thu thập dữ liệu văn bản. Vì xếp hạng có thể trống, nên chúng tôi đã thêm một kiểm tra null:

Python Copy
def scrape_rating(listing):
    maps_element = listing.select_one('span.MW4etd[aria-hidden="true"]')
    if maps_element is None:
        return None
    else:
        return maps_element.text.strip()
  • Thu thập dữ liệu liên kết hình ảnh:
Thu thập dữ liệu liên kết hình ảnh

Trích xuất thuộc tính href của phần tử và sử dụng Python để thu thập dữ liệu liên kết hình ảnh:

Python Copy
def scrape_image_links(listing):
    maps_image_link = listing.select_one('div.SpFAAb').select_one("img")
    return maps_image_link['src']

Trên đây chỉ là một phần trình diễn. Bạn có thể tham khảo mã cuối cùng của chúng tôi dưới đây:

Python Copy
# Import necessary libraries
import time

from bs4 import BeautifulSoup
import json
from selenium import webdriver

driver = webdriver.Chrome()

# Function to scrape listing elements from Google Maps
def scrape_listings(soup):
    return soup.select('div.Nv2PK.THOPZb.CpccDe')

# Function to scrape title from google_maps
def scrape_title(listing):
    maps_element = listing.select_one('div.NrDZNb').select_one('div.qBF1Pd.fontHeadlineSmall')
    return maps_element.text.strip()

# Function to scrape ratings from google_maps
def scrape_rating(listing):
    maps_element = listing.select_one('span.MW4etd[aria-hidden="true"]')
    if maps_element is None:
        return None
    else:
        return maps_element.text.strip()

def scrape_image_links(listing):
    maps_image_link = listing.select_one('div.SpFAAb').select_one("img")
    return maps_image_link['src']

# Main function
def main():
    # Make a request to Google Maps URL and parse HTML
    url = 'https://www.google.com/maps/search/coffee/@47.4641284,-122.3855982,11z?entry=ttu&g_ep=EgoyMDI1MDIwOS4wIKXMDSoASAFQAw=='
    driver.get(url)
    time.sleep(2)
    page_source = driver.page_source
    soup = BeautifulSoup(page_source, 'html.parser')

    # Scrape map listings
    listings = scrape_listings(soup)

    # Iterate through each listing and extract map information
    maps_data = []
    for listing in listings:
        title = scrape_title(listing)
        rating = scrape_rating(listing)
        image_link = scrape_image_links(listing)

        # Store map information in a dictionary
        maps_info = {
            'title': title,
            'rating': rating,
            'image_link': image_link
        }

        maps_data.append(maps_info)

    # Save results to a JSON file
    with open('google_maps_data.json', 'w') as json_file:
        json.dump(maps_data, json_file, indent=4)

if __name__ == "__main__":
    main()

Bước 3. Thu thập dữ liệu kết quả và lưu trữ dữ liệu.

Một tệp JSON có tên google_maps_data.json sẽ được tạo trong thư mục PyCharm của bạn, chứa dữ liệu đã thu thập. Dưới đây là một ví dụ về kết quả đã thu thập:

JSON Copy
[
    {
        "title": "Lucky Mugs",
        "rating": null,
        "image_link": "https://streetviewpixels-pa.googleapis.com/v1/thumbnail?panoid=36eAZcAEe5VpSUaFnPcOVA&cb_client=search.gws-prod.gps&w=80&h=92&yaw=139.65103&pitch=0&thumbfov=100"
    },
    {
        "title": "Retro Coffee",
        "rating": "4.4",
        "image_link": "https://lh5.googleusercontent.com/p/AF1QipPxJNNq_ddJeY4metdP0-Yv1gfAb8hwqtdjEk3R=w80-h106-k-no"
    },
    {
        "title": "Caffe Migliore.",
        "rating": "4.4",
        "image_link": "https://lh5.googleusercontent.com/p/AF1QipN5LhTxOs7TEicnyDcaeIwp5iOVD46aQ-vMpco=w80-h106-k-no"
    },
    {
        "title": "Local Coffee Spot",
        "rating": "4.2",
        "image_link": "https://lh5.googleusercontent.com/p/AF1QipO9UVq4zJ3G-xw62mFyQEj8jTdlehq7eLlZ4RyL=w163-h92-k-no"
    },
    {
        "title": "BigFoot Java",
        "rating": "4.1",
        "image_link": "https://lh3.googleusercontent.com/gps-proxy/ALd4DhGHbsVNZu27z_GxIxq3jTyZbJI5MUY_rpPTL7yZQX0Mbx4BEbKTwMTz6vJ16y1u1qVA97qxlMtjejRYMjEk7Riqx2dLl1CeDEcGfIWKWmIF5E3qcna_9faDEBRwLvhoiBcJywVx_TZ7jtM1tKUmynpAZdn-vvYju1pEGKDA34jUT38S8qip3Drk=w92-h92-k-no"
    },
    {
        "title": "Caffe Ladro - Downtown on Pine Street",
        "rating": "4.3",
        "image_link": "https://lh5.googleusercontent.com/p/AF1QipO84r3OrCAb6IjtMYbki4pAMpuWf8KoK5_ods89=w92-h92-k-no"
    },
    {
        "title": "Coffee Tree",
        "rating": "4.4",
        "image_link": "https://lh5.googleusercontent.com/p/AF1QipPYbEDGEskTGDCcpBHxF-nQqrFhR2yFi5cBt6Lu=w122-h92-k-no"
    }
]

Thu thập dữ liệu tuyến đường dẫn hướng

Bước 1. Nhập điểm xuất phát và điểm đến trong Google Maps.

Thu thập dữ liệu tuyến đường dẫn hướng

Bước 2. Thu thập dữ liệu các trường cụ thể từ kết quả tìm kiếm tuyến đường dẫn hướng Google Maps.

Tiếp tục sử dụng BeautifulSoup để phân tích cú pháp HTML và định vị các phần tử chứa thông tin mong muốn:

  • Thu thập dữ liệu trường "qua":
Thu thập dữ liệu trường "qua"

Trích xuất phần tử và sử dụng Python để thu thập dữ liệu văn bản:

Python Copy
def scrape_via(listing):
    maps_element = listing.select_one('h1.VuCHmb.fontHeadlineSmall')
    return maps_element.text.strip()
  • Thu thập dữ liệu thời gian:
Thu thập dữ liệu thời gian

Trích xuất phần tử và sử dụng Python để thu thập dữ liệu văn bản:

Python Copy
def scrape_time(listing):
    maps_element = listing.select_one('div.Fk3sm.fontHeadlineSmall.delay-light')
    return maps_element.text.strip()
  • Thu thập dữ liệu khoảng cách:
Thu thập dữ liệu khoảng cách
Python Copy
def scrape_distance(listing):
    maps_element = listing.select_one('div.ivN21e.tUEI83.fontBodyMedium').select_one('div')
    return maps_element.text.strip()
  • Đây là mã cuối cùng:
Python Copy
# Import necessary libraries
import time

from bs4 import BeautifulSoup
import json
from selenium import webdriver

driver = webdriver.Chrome()

# Function to scrape listing elements from Google Maps
def scrape_listings(soup):
    return soup.select('div.UgZKXd')

# Function to scrape via from google_maps
def scrape_via(listing):
    maps_element = listing.select_one('h1.VuCHmb.fontHeadlineSmall')
    return maps_element.text.strip()

# Function to scrape time from google_maps
def scrape_time(listing):
    maps_element = listing.select_one('div.Fk3sm.fontHeadlineSmall.delay-light')
    return maps_element.text.strip()

# Function to scrape distance from google_maps
def scrape_distance(listing):
    maps_element = listing.select_one('div.ivN21e.tUEI8e.fontBodyMedium').select_one('div')
    return maps_element.text.strip()

# Main function
def main():
    # Make a request to google maps URL and parse HTML
    url = 'https://www.google.com/maps/dir/Austin-Bergstrom+International+Airport/5540+N+Lamar+Blvd,+Austin,+TX+78756/@30.2603068,-97.7871692,12z/data=!3m1!4b1!4m13!4m12!1m5!1m1!1s0x8644b13b8b4aff45:0x1ca7fca8c9dc2768!2m2!1d-97.6710889!2d30.194085!1m5!1m1!1s0x8644cba140fad1fb:0x2db903443245739c!2m2!1d-97.7286733!2d30.3247493?hl=en&entry=ttu&g_ep=EgoyMDI1MDIwOS4wIKXMDSoASAFQAw%3D%3D'
    driver.get(url)
    time.sleep(2)
    page_source = driver.page_source
    soup = BeautifulSoup(page_source, 'html.parser')

    # Scrape maps listings
    listings = scrape_listings(soup)

    # Iterate through each listing and extract maps information
    maps_data = []
    for listing in listings:
        via = scrape_via(listing)
        time_consuming = scrape_time(listing)
        distance = scrape_distance(listing)

        # Store maps information in a dictionary
        maps_info = {
            'via': via,
            'time': time_consuming,
            'distance': distance
        }

        maps_data.append(maps_info)

    # Save results to a JSON file
    with open('google_maps_dir_data.json', 'w') as json_file:
        json.dump(maps_data, json_file, indent=4)

if __name__ == "__main__":
    main()

Bước 3. Thu thập dữ liệu kết quả và lưu trữ dữ liệu.

Một tệp JSON có tên google_maps_dir_data.json sẽ được tạo trong thư mục PyCharm của bạn, chứa dữ liệu đã thu thập. Dưới đây là một ví dụ về kết quả đã thu thập:

JSON Copy
[
    {
        "via": "via 183 Toll",
        "time": "17 min",
        "distance": "13.4 miles"
    },
    {
        "via": "via State Hwy 71 W and I-35 N",
        "time": "19 min",
        "distance": "15.5 miles"
    },
    {
        "via": "via S Hwy 183 and 183 Toll",
        "time": "17 min",
        "distance": "13.6 miles"
    }
]

Kết luận

Bây giờ bạn đã có kỹ năng để thu thập dữ liệu Google Maps như một chuyên gia! Hai phương pháp trong blog này chắc chắn có thể tiết kiệm thời gian và cứu ví tiền của bạn! Không có nhiều thời gian? Bối rối bởi quá trình mã hóa phức tạp? Vui lòng sử dụng API Key của chúng tôi để gọi API Google Maps của chúng tôi miễn phí để dễ dàng hoàn thành việc thu thập dữ liệu!

Bạn có phải là người đam mê API hay người thu thập dữ liệu web cứng rắn? Chia sẻ kinh nghiệm của bạn trong cộng đồng của chúng tôi!

Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến ​​cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.

Bài viết phổ biến nhất

Danh mục