SE::Google::KeywordPlanner::Ideas - công cụ cào dữ liệu các biến thể từ khóa từ Google Keyword Planner

Tổng quan về công cụ cào dữ liệu
SE::Google::KeywordPlanner::Ideas – cào dữ liệu các biến thể từ khóa và gợi ý từ Google Keyword Planner. Có rất nhiều dữ liệu có sẵn để sử dụng: cào danh sách gợi ý, đánh giá mức độ cạnh tranh của từ khóa, thu thập số lượng truy vấn trung bình hàng tháng, giá thầu tối thiểu và tối đa, tìm kiếm các từ khóa mới cùng chủ đề. Trong cài đặt cào dữ liệu, bạn có thể chỉ định ngôn ngữ, khu vực, vị trí và khoảng thời gian trích xuất dữ liệu. Chế độ hàng loạt cũng có sẵn, nhờ đó bạn có thể nhận dữ liệu cho 20 từ khóa cùng lúc trong một yêu cầu tới dịch vụ, từ đó tăng tốc đáng kể quá trình cào dữ liệu.Nhờ khả năng hoạt động đa luồng của A-Parser, tốc độ xử lý truy vấn có thể đạt tới hàng nghìn truy vấn mỗi phút.
Chức năng của A-Parser cho phép lưu các cài đặt cào dữ liệu của công cụ SE::Google::KeywordPlanner::Ideas để sử dụng sau này (preset), thiết lập lịch trình cào dữ liệu và nhiều tính năng khác.
Việc lưu kết quả có thể thực hiện theo bất kỳ hình thức và cấu trúc nào bạn cần, nhờ vào bộ tạo mẫu mạnh mẽ được tích hợp sẵn Template Toolkit cho phép áp dụng logic bổ sung cho kết quả và xuất dữ liệu ở nhiều định dạng khác nhau, bao gồm JSON, SQL và CSV.
Dữ liệu thu thập được
- Số lượng truy vấn trung bình hàng tháng cho từ khóa tìm kiếm
- Danh sách gợi ý
- Các biến thể từ khóa
- Số lượng truy vấn trung bình hàng tháng
- Mức độ cạnh tranh
- Giá thầu tối thiểu và tối đa
- Xu hướng cho mỗi biến thể nhận được
Tính năng
- Hỗ trợ xác thực bằng login-password hoặc thông qua việc thay thế cookie và header
- Xác định mức độ chính xác của $volume - giá trị chính xác/làm tròn
- Hỗ trợ chế độ hàng loạt, chi tiết hơn trong phần Queries (Truy vấn)
- Hỗ trợ đa tài khoản (để chọn đúng tài khoản, bắt buộc phải chỉ định
ocid(uscid)của nó) - Cào dữ liệu về khối lượng tìm kiếm cho mỗi từ khóa theo từng tháng trong khoảng thời gian được chỉ định (
$ideas.$i.trends). Dữ liệu được trình bày dưới dạng JSON, ví dụ về việc xuất chúng ra kết quả ở ảnh chụp màn hình bên dưới:
Spoiler: Ảnh chụp màn hình

Mẫu:
[% FOREACH item IN ideas;
trends = tools.parseJSON(item.trends);
item.keyword _ "\n";
trends.format('$month: $volume\n');
"----\n";
END %]
Các trường hợp sử dụng
- Cào danh sách gợi ý
- Đánh giá cạnh tranh cho từ khóa
- Thu thập số lượng truy vấn trung bình hàng tháng, giá thầu tối thiểu và tối đa
- Tìm kiếm các từ khóa mới cùng chủ đề
Cài đặt
Có hai phương án để cấu hình công cụ cào dữ liệu:
- chỉ định email\mật khẩu từ tài khoản Keyword Planner
- xác thực trong trình duyệt và sao chép các giá trị cần thiết
Hãy thận trọng với số lượng luồng. Khuyến nghị chỉ định số lượng luồng nhỏ, đồng thời hoàn toàn có thể cào dữ liệu mà không cần proxy.
Xác thực qua email và mật khẩu
Cần ghi đè các tùy chọn E-mail và Password, chỉ định dữ liệu từ tài khoản Keyword Planner của bạn. Trên tài khoản bắt buộc phải đã tạo một chiến dịch.
Spoiler: (Giải pháp) Login failed TypeError: Cannot read property '1' of null
Trong trường hợp xảy ra lỗi này, bạn cần xóa tài khoản Google của mình khỏi trình duyệt và đăng nhập lại.

Xác thực trong trình duyệt và thay thế header vào công cụ cào dữ liệu
Cần xác thực trong trình duyệt theo liên kết https://ads.google.com/aw/keywordplanner/home, tạo chiến dịch đầu tiên nếu trước đó chưa có, lấy các dữ liệu sau và chỉ định chúng trong cài đặt công cụ cào dữ liệu:
Cookie có thể được chỉ định theo hai cách:
- Chỉ định tất cả cookie trong tùy chọn All cookies
- Chỉ định các giá trị từ cookie cho các tùy chọn __Secure-3PSID, __Secure-3PSIDTS (__Secure-3PSIDTS cần được chỉ định trong trường hợp authuser trên tài khoản bằng 0)
Các header khác:
- Giá trị của header x-framework-xsrf-token
- Giá trị của tham số ocid hoặc uscid từ URL
- Giá trị của tham số authuser từ URL
Spoiler: Cách tìm các tham số cần thiết


Truy vấn
Tùy thuộc vào giá trị của tham số Query type, các truy vấn có thể có dạng khác nhau. Dưới đây liệt kê các phương án khả thi, hiển thị các ví dụ và mô tả đặc điểm của kết quả nhận được.
Keyword
Các truy vấn phải ở dạng từ khóa, mỗi từ khóa trên một dòng. Ví dụ truy vấn:
test
công cụ cào dữ liệu
Windows 11
cách trồng cây
Hỗ trợ chế độ hàng loạt, được kích hoạt bởi tùy chọn Bulk (packet) mode. Trong chế độ này, công cụ cào dữ liệu sẽ gửi các gói gồm 20 từ khóa trong một truy vấn tới dịch vụ, do đó logic điền kết quả sẽ thay đổi:
$volumesẽ được điền cho mỗi từ khóa$ideasvà$suggestssẽ chỉ được điền cho từ khóa đầu tiên, nhưng trong các mảng này sẽ có tất cả kết quả tổng hợp cho tất cả từ khóa được sử dụng trong gói này
Site + keyword
Các truy vấn phải ở dạng trang web và từ khóa cách nhau bởi dấu cách. Ví dụ truy vấn:
speedtest.com Network speed
a-parser.com parser
Cũng hỗ trợ chế độ hàng loạt, để sử dụng cần liệt kê các từ khóa cách nhau bởi dấu phẩy, ví dụ:
4pda.to android,ios,firmware
google.com google,ads,quảng cáo,tìm kiếm trang web trên internet
$volumecho loại truy vấn này trong chế độ hàng loạt sẽ không được cào
Entire site
Đối với các truy vấn, cần chỉ định tên miền, mỗi tên miền trên một dòng. Ví dụ:
apple.com
microsoft.com
$volumecho loại truy vấn này không được cào
URL
Đối với các truy vấn, cần chỉ định các liên kết, mỗi liên kết trên một dòng. Ví dụ:
https://a-parser.com/docs/parsers/se-google-keywordplanner
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
$volumecho loại truy vấn này không được cào
Thay thế truy vấn
Bạn có thể sử dụng các macro tích hợp sẵn để tự động thay thế các truy vấn phụ từ tệp, ví dụ chúng ta muốn thêm một danh sách các từ khác vào mỗi truy vấn, hãy chỉ định một vài truy vấn chính:
fantasy
tower defense
rpg
Trong định dạng truy vấn, chúng ta chỉ định macro thay thế các từ bổ sung từ tệp keywords.txt, phương pháp này cho phép tăng tính đa dạng của các truy vấn lên nhiều lần:
{subs:keywords} $query
Macro này sẽ tạo ra số lượng truy vấn bổ sung tương ứng với số lượng từ có trong tệp cho mỗi truy vấn tìm kiếm ban đầu, tổng cộng sẽ cho ra [số lượng truy vấn ban đầu] x [số lượng truy vấn trong tệp Keywords] = [tổng số lượng truy vấn] sau khi macro hoạt động.
Ví dụ, nếu tệp keywords.txt chứa:
free
online
Kết quả là macro thay thế sẽ biến 3 truy vấn chính thành 6:
free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg
Các ví dụ về xuất kết quả
A-Parser hỗ trợ định dạng kết quả linh hoạt nhờ vào bộ tạo mẫu tích hợp Template Toolkit, cho phép nó xuất kết quả dưới dạng tùy ý, cũng như dưới dạng có cấu trúc, ví dụ CSV hoặc JSON
Xuất mặc định
Định dạng kết quả:
$ideas.format('$keyword\n')
Ví dụ kết quả:
coca cola
iphone 11 pro
winter
iphone 11 pro max
winter season
iphone11
iphone 11 price
apple iphone 11
iphone 11pro
coke
11 pro max
iphone 11 pro price
iphone 11 max
iphone pro max
iphone 11 128gb
11 pro
iphone 11 pro max price
apple iphone 11 pro
apple iphone 11 pro max
new iphone 11
iphone 11 max pro
apple 11 pro
iphone 11 deals
iphone 11 pro max 256gb
diet coke
first day of winter
iphone 11 pro 256gb
coke zero
iphone pro 11
apple 11 pro max
Xuất ra bảng CSV
Định dạng kết quả:
[% FOREACH i IN ideas;
tools.CSVline(i.keyword, i.volume, i.min_bid, i.max_bid);
END %]
Tên tệp:
$datefile.format().csv
Văn bản bắt đầu:
Keyword,Volume,"Min bid","Max bid"
Trong Định dạng kết quả, bộ tạo mẫu Template Toolkit được sử dụng để xuất mảng $ideas trong vòng lặp FOREACH.
Trong tên tệp kết quả, chỉ cần thay đổi phần mở rộng của tệp thành csv.
Để tùy chọn "Prepend text" có sẵn trong Trình chỉnh sửa tác vụ, cần kích hoạt "More options". Trong "Prepend text", chúng ta ghi tên các cột cách nhau bởi dấu phẩy và dòng thứ hai để trống.
Lưu dưới định dạng SQL
Định dạng kết quả:
[% FOREACH ideas;
"INSERT INTO ideas VALUES('" _ keyword _ "', '" _ volume _ "')\n";
END %]
Ví dụ kết quả:
INSERT INTO ideas VALUES('nước hoa', '50000')
INSERT INTO ideas VALUES('eyfel perfume', '5000')
INSERT INTO ideas VALUES('memo marfa', '5000')
INSERT INTO ideas VALUES('duxi', '5000')
INSERT INTO ideas VALUES('kenzo intense', '5000')
INSERT INTO ideas VALUES('climat lancome', '5000')
INSERT INTO ideas VALUES('v canto', '5000')
INSERT INTO ideas VALUES('majda bekkali', '5000')
INSERT INTO ideas VALUES('v canto ricina', '500')
INSERT INTO ideas VALUES('v canto stramonio', '5000')
INSERT INTO ideas VALUES('terenzi kirke', '500')
INSERT INTO ideas VALUES('duhi', '500')
INSERT INTO ideas VALUES('max mara le parfum', '500')
INSERT INTO ideas VALUES('stramonio v canto', '500')
INSERT INTO ideas VALUES('sheikh parfum', '500')
INSERT INTO ideas VALUES('jacques zolty', '500')
INSERT INTO ideas VALUES('aj arabia', '500')
INSERT INTO ideas VALUES('christian lacroix bazar', '500')
INSERT INTO ideas VALUES('juliette has a gun romantina', '500')
INSERT INTO ideas VALUES('vilhelm parfumerie mango skin', '500')
INSERT INTO ideas VALUES('v canto mirabile', '500')
INSERT INTO ideas VALUES('donna karan dkny be delicious', '500')
INSERT INTO ideas VALUES('arteolfatto', '500')
INSERT INTO ideas VALUES('aquawoman rochas', '500')
INSERT INTO ideas VALUES('angel and demon givenchy', '500')
INSERT INTO ideas VALUES('venenum kiss', '500')
INSERT INTO ideas VALUES('v canto mandragola', '500')
INSERT INTO ideas VALUES('angel demon givenchy', '500')
INSERT INTO ideas VALUES('hugo boss boss ma vie pour femme', '500')
INSERT INTO ideas VALUES('nina ricci mademoiselle ricci', '500')
Dump kết quả vào JSON
Định dạng kết quả chung:
[% data = [];
FOREACH p1.ideas;
item = {};
item.keyword = keyword;
item.volume = volume;
data.push(item);
END %]$data.json\n
Ví dụ kết quả:
[{"keyword":"nước hoa","volume":"50000"},{"keyword":"eyfel perfume","volume":"5000"},{"keyword":"memo marfa","volume":"5000"},{"keyword":"duxi","volume":"5000"},{"keyword":"kenzo intense","volume":"5000"},{"keyword":"climat lancome","volume":"5000"},{"keyword":"v canto","volume":"5000"},{"keyword":"majda bekkali","volume":"5000"},{"keyword":"v canto ricina","volume":"500"},{"keyword":"v canto stramonio","volume":"5000"},{"keyword":"terenzi kirke","volume":"500"},{"keyword":"duhi","volume":"500"},{"keyword":"max mara le parfum","volume":"500"},{"keyword":"stramonio v canto","volume":"500"},{"keyword":"sheikh parfum","volume":"500"},{"keyword":"jacques zolty","volume":"500"},{"keyword":"aj arabia","volume":"500"},{"keyword":"christian lacroix bazar","volume":"500"},{"keyword":"juliette has a gun romantina","volume":"500"},{"keyword":"vilhelm parfumerie mango skin","volume":"500"},{"keyword":"v canto mirabile","volume":"500"},{"keyword":"donna karan dkny be delicious","volume":"500"},{"keyword":"arteolfatto","volume":"500"},{"keyword":"aquawoman rochas","volume":"500"},{"keyword":"angel and demon givenchy","volume":"500"},{"keyword":"venenum kiss","volume":"500"},{"keyword":"v canto mandragola","volume":"500"},{"keyword":"angel demon givenchy","volume":"500"},{"keyword":"hugo boss boss ma vie pour femme","volume":"500"},{"keyword":"nina ricci mademoiselle ricci","volume":"500"},{"keyword":"mmmm juliette has a gun","volume":"500"},{"keyword":"v canto lucrethia","volume":"500"},{"keyword":"mango skin vilhelm parfumerie","volume":"500"},{"keyword":"dalissime salvador dali","volume":"500"},{"keyword":"molecula 02","volume":"50000"},{"keyword":"lucia parfum","volume":"500"},{"keyword":"boadicea pure narcotic","volume":"500"},{"keyword":"terenzi andromeda","volume":"500"}]
Chi tiết hơn về việc xuất kết quả ra JSON được mô tả trong bài viết này.
Các cài đặt có thể có
| Tham số | Giá trị mặc định | Mô tả |
|---|---|---|
| All cookies | Chỉ định tất cả cookie | |
| Cookie "__Secure-3PSID" | Cookie "__Secure-3PSID" | |
| Cookie "__Secure-3PSIDTS" | Cookie "__Secure-3PSIDTS" | |
| Header "x-framework-xsrf-token" | Header "x-framework-xsrf-token" | |
| Url parameter "ocid"("uscid") | Tham số "ocid"("uscid") | |
| Url parameter "authuser" | 0 | Tham số "authuser" |
| E-mail để xác thực trong Keyword Planner | ||
| Password | Mật khẩu để xác thực trong Keyword Planner | |
| Recovery e-mail | E-mail để khôi phục quyền truy cập | |
| Browser headless (debug auth) | ☑ | Chế độ headless cho trình duyệt được sử dụng để xác thực qua login-password |
| Log Login Screenshot (debug auth) | ☐ | Tạo ảnh chụp màn hình trang xác thực và xuất nó vào nhật ký tác vụ |
| Date from | Last 12 months | Ngày từ |
| Date to | Last 12 months | Ngày đến |
| Language | English | Ngôn ngữ |
| Search networks | Google | Mạng tìm kiếm |
| Currency | USD | Tiền tệ |
| Location code | Vị trí (ở đây cần chỉ định id vị trí, có thể lấy từ cột đầu tiên của bảng này (bản sao)) | |
| Query type | Keyword | Loại truy vấn |
| Exclude brand names in results | ☐ | Bộ lọc thương hiệu |
| Exclude adult ideas | ☑ | Bộ lọc nội dung người lớn |
| Bulk (packet) mode | ☐ | Bật chế độ hàng loạt |