跳转到主要内容

SE::Google::Trends - 基于 Google 的热门关键词爬虫工具

Google Trends

爬虫工具概览

Google Trends 搜索查询爬虫工具。Google Trends 爬虫工具可以自动获取查询所属的所有类别列表,以及按地区和时间划分的兴趣列表。

您可以使用自动查询扩展、从文件中替换子查询、遍历数字字母组合和列表,以获取尽可能多的结果。通过使用 结果过滤,您可以立即清理结果,删除所有不需要的垃圾内容(使用否定词)。

A-Parser 的功能允许保存 SE::Google::Trends 爬虫工具的抓取设置以便将来使用(预设),设置抓取计划等等。

由于内置了强大的模板引擎 Template Toolkit,可以将结果保存为您需要的任何形式和结构,该引擎允许对结果应用额外的逻辑,并以各种格式输出数据,包括 JSON、SQL 和 CSV

爬虫工具应用案例

采集的数据

  • 查询所属的所有类别列表,格式为(查询、类别、受欢迎程度百分比)
  • 按时间划分的兴趣列表,格式为:关注时间(Unix 格式)、受欢迎程度百分比
  • 按地区划分的兴趣列表,格式为:地区、受欢迎程度百分比
  • 相关热门查询列表
  • 相关飙升查询列表

功能

  • 可以比较多个关键词的数据,为此需要用逗号分隔它们
  • 可以选择国家来评估关键词
  • 选择输出结果的时间范围
  • 选择抓取的属性(Web Search、Image Search、News Search 等)
  • 选择 Google Trends 类别(可以使用 JS::GoogleTrendsCat 爬虫工具获取类别列表)
  • 可以指定自定义日期范围
  • 按类别搜索

使用场景

  • 评估关键词的流量大小
  • 寻找相关主题的新关键词
  • 要设置自定义日期,需要在 Search time 中选择 Custom time,并在 Custom time range 中以 YYYY-MM-DD YYYY-MM-DD 格式指定日期范围
  • 按类别搜索会忽略提交给爬虫工具的查询(选项 Use empty queries(ignore query value)
剧透:示例
使用 Search time 和 Custom time 选项的示例

查询

在查询中需要指定关键词,就像直接在 Google 搜索框中输入一样,例如:

write essay
Football
Waterfall
Speak in english
Cats and dogs
forex
cheap essay

查询宏替换

您可以使用 内置宏 自动从文件中替换子查询,例如我们想为每个查询添加一些其他单词列表,指定几个主要查询:

essay
article
thesis

在查询格式中指定从文件 Keywords.txt 替换额外单词的宏,此方法可以成倍增加查询的多样性:

{subs:Keywords} $query 

该宏将为每个原始搜索查询创建与文件中相同数量的额外查询,宏运行的结果总数将是 [原始查询数量(域名)] x [Keywords 文件中的查询数量] = [总查询数量]

例如,如果 Keywords.txt 文件包含:

buy
cheap

最终宏替换将把 3 个主要查询变为 6 个:

buy essay
cheap essay
buy article
cheap article
buy thesis
cheap thesis

结果输出示例

由于内置了 Template Toolkit 模板引擎,A-Parser 支持灵活的结果格式化,这使其能够以任意形式以及结构化形式(如 CSV 或 JSON)输出结果。

以以下格式导出相关飙升查询列表:原始查询、相关关键词、受欢迎程度。

结果格式:

$query:\n$related_queries_rising.format('$key,$rquery,$interest\n')

结果示例:

write essay:
write essay,write my essay 4 me,6550
write essay,write essay on globalization and 21st century,1450
write essay,grammarly,1100
write essay,how to write a hook for an argumentative essay,1000
write essay,write my essay for me cheap,1000
write essay,pay someone to write my essay,550
write essay,write that essay login,550
write essay,write my essay cheap,500
write essay,google docs,350
write essay,docs,300
write essay,how to write an argumentative essay step by step,250
write essay,someone write my essay,200
write essay,how long does it take to write a 1000 word essay,200
write essay,how long does it take to write a 2000 word essay,200
write essay,how to write a synthesis essay ap lang,200
write essay,pay to write essay,190
write essay,write essay on my school,180
write essay,how to write essay in hindi,170
write essay,write an essay on my school,170
write essay,help me write an essay,150
write essay,write my essay for me,130
write essay,help me write my essay,120
write essay,write my paper for me,120
write essay,how to write a hook for a persuasive essay,110
write essay,write essay for me,100

内置工具 $tools.CSVLine 允许创建正确的表格文档,以便导入 Excel 或 Google 表格。

通用结果格式:

[% FOREACH i IN p1.related_queries_rising;
tools.CSVline(i.key, i.rquery, i.interest);
END %]

文件名:

$datefile.format().csv

初始文本:

原始查询,相关关键词,受欢迎程度

提示

通用结果格式 中应用了 Template Toolkit 模板引擎,通过 FOREACH 循环输出 $related_queries_rising 数组。

在结果文件名中,只需将文件扩展名更改为 csv。

为了使“Prepend text”选项在任务编辑器中可用,需要激活“More options”。 在“Prepend text”中按逗号分隔记录列名,并将第二行留空。

以 SQL 格式保存

结果格式:

[%  FOREACH related_queries_rising;     "INSERT INTO serp VALUES('" _ key _ "', '";     rquery _ "', '";    interest _ "')\n"; END  %]

结果示例:

INSERT INTO serp VALUES('write essay', 'write my essay 4 me', '6550')
INSERT INTO serp VALUES('write essay', 'write essay on globalization and 21st century', '1450')
INSERT INTO serp VALUES('write essay', 'grammarly', '1100')
INSERT INTO serp VALUES('write essay', 'how to write a hook for an argumentative essay', '1000')
INSERT INTO serp VALUES('write essay', 'write my essay for me cheap', '1000')
INSERT INTO serp VALUES('write essay', 'pay someone to write my essay', '550')
INSERT INTO serp VALUES('write essay', 'write that essay login', '550')
INSERT INTO serp VALUES('write essay', 'write my essay cheap', '500')
INSERT INTO serp VALUES('write essay', 'google docs', '350')
INSERT INTO serp VALUES('write essay', 'docs', '300')
INSERT INTO serp VALUES('write essay', 'how to write an argumentative essay step by step', '250')
INSERT INTO serp VALUES('write essay', 'someone write my essay', '200')
INSERT INTO serp VALUES('write essay', 'how long does it take to write a 1000 word essay', '200')
INSERT INTO serp VALUES('write essay', 'how long does it take to write a 2000 word essay', '200')
INSERT INTO serp VALUES('write essay', 'how to write a synthesis essay ap lang', '200')
INSERT INTO serp VALUES('write essay', 'pay to write essay', '190')
INSERT INTO serp VALUES('write essay', 'write essay on my school', '180')
INSERT INTO serp VALUES('write essay', 'how to write essay in hindi', '170')
INSERT INTO serp VALUES('write essay', 'write an essay on my school', '170')
INSERT INTO serp VALUES('write essay', 'help me write an essay', '150')
INSERT INTO serp VALUES('write essay', 'write my essay for me', '130')
INSERT INTO serp VALUES('write essay', 'help me write my essay', '120')
INSERT INTO serp VALUES('write essay', 'write my paper for me', '120')
INSERT INTO serp VALUES('write essay', 'how to write a hook for a persuasive essay', '110')
INSERT INTO serp VALUES('write essay', 'write essay for me', '100')
...

将结果转储为 JSON

结果格式:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.related_queries_rising.key = [];
obj.related_queries_rising.rquery = [];
obj.related_queries_rising.interest = [];

FOREACH item IN p1.related_queries_rising;
obj.related_queries_rising.key.push(item.key);
obj.related_queries_rising.rquery.push(item.key);
obj.related_queries_rising.interest.push(item.key);
END;

obj.json %]

初始文本:

[

最终文本:

]

结果示例:

[{"related_queries_rising":{"rquery":["write my essay 4 me","write essay on globalization and 21st century","grammarly","how to write a hook for an argumentative essay","write my essay for me cheap","pay someone to write my essay","write that essay login","write my essay cheap","google docs","docs","how to write an argumentative essay step by step","someone write my essay","how long does it take to write a 1000 word essay","how long does it take to write a 2000 word essay","how to write a synthesis essay ap lang","pay to write essay","write essay on my school","how to write essay in hindi","write an essay on my school","help me write an essay","write my essay for me","help me write my essay","write my paper for me","how to write a hook for a persuasive essay","write essay for me"],"interest":[6550,1450,1100,1000,1000,550,550,500,350,300,250,200,200,200,200,190,180,170,170,150,130,120,120,110,100],"key":["write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay"]}}]
提示

为了使“Prepend text”和“Append text”选项在任务编辑器中可用,需要激活“More options”。

结果处理

A-Parser 允许在抓取过程中直接处理结果,在本节中,我们列出了 SE::Google::Trends 爬虫工具最受欢迎的应用案例

使用自定义日期

要设置自定义日期,需要在 Search time 中选择 Custom time,并在 Custom time range 中以 YYYY-MM-DD YYYY-MM-DD 格式指定日期范围。

下载示例

如何将示例导入 A-Parser

eJx1U1GP2jAM/iuVxcNN4hDctJe+cWhMm9j1dsATQqeIuCy7NMmSlA1V/e9z0tIC
46RKjZ3vsz/HdgWeuTf3bNGhd5BuKjDxDCksP6fpF633EtN0ZVFxl9wna4fJrnRe
FwlnHmEIhlmHNnA3NygE4JizUnoYVuCPBimyPqC1gge24GQ7ZHb389WLIrgOTJYB
1aSB+n1eg7jmPYwfxvfjCX0JHen/kY5Qb7dDoNJIiZtrW7BQ4sBMRm293eWSHXCl
6TIXEnv3nKwnVoQEg1B5uB3lMdDdh5H/GyIwzoUXWjHZZAiP0mddK/E7ClSasHS0
At3cUokpeIwBgvN4UreBQbSBQpSR+6PhQJoz6XAIjqTOGQnh1zfCo2Ve28wEPeSv
QKuplAs8oOxhMf5jKSSnDk5zIn1tibch2X8x6q6881TUpz+WNHRRovWYfe9ZXC/0
/vQYUhTCk+1mulShMWNyviGa7s2eAqzQFrs0beQ2O02woXkjZN+yqeldF2VctOXS
udMqF/usHbQTslQrWpNMzXRhJIa6VCkltcXhSz8eU9e2IRi9wGvyLKYgWd1igNda
um/LRqqxgsbvUxBY0EueZ21D7piU65fF+Q30I0VGfO4EnWNHCHCPe02DRMXU225j
u6Wvbu1tWtXUpV/uuQGHkqKT9oxMagGkk/ofqyh6IQ==

结果过滤

导出热度低于设定值的相关趋势查询列表的示例。

过滤示例
下载示例

如何将示例导入 A-Parser

eJxtVMFu2zAM/ZVACNAVcIP20IsPA9JgKTpkddekpzQohIoOtMiSK8pZA8P/PkqW
7aTLzaRIvsdH0jVzHHf4ZAHBIUvXNSvDN0vZ8kea3huzVZCmKwta4OhqNJfKgR3B
Jy9KBSxhJbcI1qeuz2RQgICcV8qxpGbuUAIVNnuwVgqfLQXZubEFdwQbwtieq8qH
jT8qsIf09VWPLSjuQLx5jwR8sxKl3k7axG8X4x0ckrEN8clYamII6Cjx4pI1A24e
uBNChErX7HxhTywWYZsk5q3aIt+PGN5eX5NlSieNJhNBI2s2mw4A54Gfb6W8mURd
+8cl38PKtLRgcJPA8MiLIIAgbv61a/Ry4j59BS6E9JhctQhe/QH1RcuPQE8bio2d
za0pyOUgFAhKdezWUWnfahVyf7c5LM25QkgYEtU5JyLi64skYbgzNgsakL9mRk+V
WsAe1BAW6t9VUglalWlOSQ8x8XxI9l+Npm/vGIoW6a8lDn2VYN1lv4YsYRZm24mh
ZCEd2TgzlfaD8fPbAZS9Zo8+rDAWephYOaLTpZS02BQ5jGxaDq6TNk7Gcup8NzqX
2yxeQhdZ6RWdY6Znxl+X70tXStFYEJ6H9ZhiHIM3BoJfk2cBgmj1F8icMQp/Lluq
pZW0freeYEFKHqPGku9cqZfnxfELG1aKjCD3CBD5gflwB1tDi0TNNJv+19D/XOpz
P4i0bmhKf/CpDfYtBSddGZnhsG6af/TaovA=
提示

另请参阅:结果过滤器

可能的设置

参数名称默认值描述
Search regionWorldwide选择地区
LanguageEnglish选择语言
Search timeDefault(Past 5 years)选择输出结果的时间范围
Custom time range空字符串Search time = Custom time 时输入自定义日期范围(格式 YYYY-MM-DD YYYY-MM-DD)
Search category id0选择类别
Search propertyDefault(Web Search)选择抓取的属性(Web Search / Image Search / News Search / Google Shopping / YouTube Search)
Use empty queries(ignore query value)忽略提交给爬虫工具的查询值并按类别进行搜索