Sử dụng Python và nhà viết kịch để cạo dữ liệu từ Google Xu hướng cho phép kiểm tra chi tiết về mức độ phổ biến từ khóa và giám sát các thay đổi xu hướng theo thời gian. Cách tiếp cận này cung cấp những hiểu biết quan trọng cho các phân tích tiếp thị.
Trước khi lặn vào mã, hãy đảm bảo bạn đã cài đặt các công cụ sau:
Bạn có thể cài đặt nhà viết kịch bằng PIP:
pip install playwright
Để sử dụng nhà viết kịch với mã không đồng bộ, bạn cũng sẽ cần thư viện Asyncio, được bao gồm trong Python 3.7+ theo mặc định.
Chúng tôi sẽ sử dụng Playwright, một công cụ tự động hóa trình duyệt mạnh mẽ, để điều hướng trang web của Google Trends và tải xuống các tệp CSV có chứa dữ liệu xu hướng. Hướng dẫn này sẽ hướng dẫn bạn trong toàn bộ quá trình.
Đầu tiên, đảm bảo cài đặt nhà viết kịch:
playwright install
Nếu bạn không muốn cài đặt tất cả các trình duyệt, bạn chỉ sử dụng lệnh này để chỉ cài đặt trình duyệt Chromium.
playwright install chromium
Khi các nền tảng cạo như Google, hoạt động chống lại hoạt động bot, sử dụng proxy là điều cần thiết. Proxy cho phép xoay IP, giúp giảm nguy cơ bị chặn. Trong kịch bản của chúng tôi, chúng tôi sử dụng các proxy riêng để định tuyến các yêu cầu của chúng tôi.
proxy = {
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
}
Thay thế các biến IP, cổng, tên người dùng và mật khẩu bằng dữ liệu thực tế từ máy chủ proxy của bạn.
Trong ví dụ này, trước tiên chúng tôi điều hướng đến Google.com để bỏ qua bất kỳ khối tiềm năng nào trước khi truy cập trang Google Trends. Điều này được thực hiện để bắt chước hành vi người dùng bình thường và tránh phát hiện.
Bước này liên quan đến các hành động sơ bộ để ngăn chặn bị Google gắn cờ và chặn bởi Google:
import asyncio
from playwright.async_api import Playwright, async_playwright
async def run(playwright: Playwright) -> None:
# Khởi chạy trình duyệt với cài đặt proxy
browser = await playwright.chromium.launch(headless=False, proxy={
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
})
# Tạo bối cảnh trình duyệt mới
context = await browser.new_context()
# Mở một trang mới
page = await context.new_page()
# Tham quan Google để bắt chước trình duyệt bình thường
await page.goto("https://google.com")
Tiếp theo, điều hướng trực tiếp đến trang Google Trends nơi có dữ liệu cần thiết. Google Trends cung cấp các tùy chọn để tải xuống dữ liệu trực tiếp ở định dạng CSV, tạo điều kiện cho quá trình trích xuất. Tự động hóa hành động nhấp vào nút "Tải xuống" để bắt đầu tải xuống dữ liệu. Điều này cho phép trích xuất dữ liệu xu hướng mà không cần can thiệp thủ công. Khi nút tải xuống của Google, có thể hiển thị, tự động hóa sẽ tiến hành nhấp vào nó, bắt đầu tải xuống tệp CSV có chứa dữ liệu xu hướng cần thiết.
# Điều hướng theo xu hướng của Google
await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")
# Đang chờ nút tải xuống và nhấp vào nó
async with page.expect_download() as download_info:
await page.get_by_role("button", name="file_download").first.click()
# Xử lý tải xuống
download = await download_info.value
print(download.suggested_filename)
Tệp CSV được tải xuống được tự động lưu trong một thư mục được chỉ định trên thiết bị cục bộ của bạn.
# Lưu tệp đã tải xuống
await download.save_as("/path/to/save/" + download.suggested_filename)
Tại đây, mã hoàn chỉnh để tải xuống dữ liệu Google Trends dưới dạng tệp CSV bằng Playwright:
import asyncio
import os
import re
from playwright.async_api import Playwright, async_playwright
async def run(playwright: Playwright) -> None:
# Trình duyệt khởi chạy với cài đặt proxy
browser = await playwright.chromium.launch(headless=False, proxy={
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
})
# Tạo bối cảnh trình duyệt mới
context = await browser.new_context()
# Mở một trang mới
page = await context.new_page()
# Ghé thăm Google để tránh phát hiện
await page.goto("https://google.com")
# Điều hướng đến các xu hướng của Google
await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")
# Nhấp vào nút Tải xuống
async with page.expect_download() as download_info:
await page.get_by_role("button", name=re.compile(r"file_download")).first.click()
# Lưu tệp đã tải xuống
download = await download_info.value
destination_path = os.path.join("path/to/save", download.suggested_filename)
await download.save_as(destination_path)
# Đóng bối cảnh và trình duyệt
await context.close()
await browser.close()
async def main() -> None:
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
Thực hiện theo hướng dẫn này, bạn có thể tải xuống hiệu quả dữ liệu xu hướng, quản lý xoay vòng proxy và bỏ qua các cơ chế bảo vệ bot. Để tránh chặn hiệu quả, sử dụng các máy chủ proxy đáng tin cậy là rất quan trọng. Các proxy dân cư, cung cấp địa chỉ IP động và không cần cấu hình xoay, rất được khuyến khích. Ngoài ra, các proxy ISP tĩnh cũng có hiệu quả; Mua số IPS yêu cầu và thiết lập xoay IP thông thường trong tập lệnh của bạn. Hoặc là sự lựa chọn đảm bảo rủi ro tối thiểu của việc chặn và captcha, tạo điều kiện cho việc cạo dữ liệu nhanh hơn và mượt mà hơn.
Мы получили вашу заявку!
Ответ будет отправлен на почту в ближайшее время.
С уважением proxy-seller.com!
Bình luận: 0