谷歌新闻动态聚合器,在全球范围内编译文章以提供全面的视图。它是实时更新精选新闻、个性化提要和热门话题的中心。这个个性化新闻聚合器根据用户兴趣突出显示相关故事。一个重要特征是“全覆盖”,呈现多样化的视角。作为 美国第六大最受欢迎的新闻网站, 谷歌新闻吸引 每月访问量超过 370 亿,使其成为一个具有全球影响力的平台,可以有效地获取见解、跟踪趋势和提取有价值的数据。

Google 新闻每月访问量

在本博客中,我们将学习如何使用以下内容抓取 Google 新闻 Crawlbase 的智能代理。 通过使用 JavaScript 和智能代理,我们收集文章标题、URL、出版日期、摘要、作者信息等数据集。智能代理提供 IP 轮换、 代理池 如: 数据中心和住宅,确保高效抓取,同时保持匿名。和 智能代理,抓取 Google 新闻变得更加容易,让我们在保持匿名的同时获得有价值的信息。

我们创建了一个简短的视频来帮助您实现代码。 在此处观看教程

要立即开始抓取 Google 新闻数据, 点击此处.

目录

为什么要抓取 Google 新闻?

  • 您可以从 Google 新闻抓取中获得哪些数据?

先决条件

  • Node.js 安装在您的计算机上
  • JavaScript 基础知识
  • Crawlbase API 令牌

抓取 Google 新闻 - HTML 数据

  • 第 1 步:创建一个新的项目文件夹
  • 第 2 步:转到项目文件夹
  • 第 3 步:创建 JavaScript 文件
  • 第四步:添加Crawlbase包
  • 第5步:安装axios
  • 第6步:安装Fs
  • 第 7 步:编写 JavaScript 代码

代码说明

使用 Cheerio 和 Fs 抓取 Google 新闻 - JSON 数据

  • 第 1 步:安装 Cheerio
  • 第2步:导入所需的库
  • 第三步:抓取文章标题
  • 第四步:抓取文章发布者
  • 第五步:节省文章时间
  • 第 6 步:抓取文章作者
  • 第7步:完成代码

总结

常见问题解答

为什么要抓取 Google 新闻?

抓取 Google 新闻对于个人和企业都非常有用。它提供了很多有用的信息和满足不同需求的机会。 Google 新闻是一个活跃的平台,可以快速获取许多不同主题的更新信息。 Google 新闻从多个来源收集信息,让用户全面了解当前正在发生的事情。以下是抓取 Google 新闻具有优势的几个原因:

为什么要抓取 Google 新闻
  1. 获取及时信息: Google 新闻汇集了来自全球数千个来源的新闻文章,确保访问不同行业和地区的各种时事、更新和发展。

  2. 市场调查: 抓取 Google 新闻使企业能够收集有关市场趋势、消费者偏好、竞争对手活动和行业新闻的情报。这些信息可以为战略决策、产品开发和营销策略提供信息。

  3. 竞争对手分析: 通过监控与竞争对手相关的新闻报道,企业可以深入了解其战略、产品发布、合作伙伴关系和公众看法。这种竞争情报可以帮助组织在市场中保持领先地位并确定需要改进的领域。

  4. 内容策划: 媒体机构、博主和内容创作者可以使用抓取的新闻文章为其受众策划相关且引人入胜的内容。这可以通过提供有价值的见解和观点来提高网站流量、参与度和品牌可信度。

  5. 财务分析: 从 Google 新闻中抓取财经新闻可以让投资者、分析师和金融机构随时了解市场趋势、公司业绩、并购、监管变化和经济指标。这些信息支持投资决策、风险管理和投资组合优化。

  6. 品牌监控: 企业可以监控与其品牌、产品和关键管理人员相关的新闻提及和媒体报道。这有助于声誉管理、危机沟通以及了解公众对品牌的情绪。

  7. 内容联合: 出版商和媒体组织可以使用抓取的新闻内容在其平台上联合发布文章,扩大内容范围并吸引更广泛的受众。这可以增加网站流量、广告收入和品牌知名度。

  8. 主题趋势分析: 通过抓取 Google 新闻,研究人员、记者和营销人员可以分析不同行业和地区的热门话题、关键词和主题。这些见解可以为内容创建、SEO 策略和营销活动提供信息。

  9. 合规性: 某些行业(例如金融和医疗保健)要求组织随时了解监管变化、政策更新和法律发展。从 Google 新闻等可靠来源抓取新闻有助于确保遵守行业法规。

  10. 数据驱动的决策: 通过抓取和分析新闻文章,企业可以根据实时信息、市场趋势以及新出现的机会或威胁做出数据驱动的决策。

您可以从 Google 新闻抓取中获得哪些数据?

在开始抓取 Google 新闻页面之前,有必要检查信息在 HTML 结构中的排列方式。这对于创建一个可以快速准确地获取我们想要的数据的 Google 新闻抓取工具非常重要。让我们首先查看 Google 新闻页面并了解其 HTML 的组织方式。我们的目标是找到包含我们想要从 Google 新闻页面抓取的数据的重要部分。

我们希望从 Google 新闻页面中抓取以下类型的数据集:

从 Google 新闻页面抓取的数据
  1. 文章标题和标题: 通过抓取 Google 新闻,您可以收集平台上显示的文章的标题和标题。这些标题提供了各个类别和主题的最新新闻主题和热门故事的快照。
  2. 文章网址: 提取新闻文章的 URL 使您能够直接从源出版物访问文章的完整内容。这样可以进行进一步分析、内容聚合或新闻文章存档以供参考。
  3. 出版日期: 抓取的数据通常包括新闻文章的发布日期,这可以为新闻报道的时间分布提供有价值的见解。分析发布日期可以跟踪趋势并了解事件的时间表。
  4. 文章摘要: Google 新闻上显示的一些新闻文章包含提供文章内容简要概述的摘要或片段。抓取这些摘要可以提供新闻主题的简洁描述,并有助于在不访问完整内容的情况下理解文章的要点。
  5. 作者信息: 从新闻文章中抓取作者姓名或署名可以让您分析各种新闻来源的贡献者。了解文章背后的作者可以深入了解他们的写作风格、专业领域和隶属关系。
  6. 文章内容: 虽然直接从 Google 新闻中抓取文章内容可能会受到版权或服务条款的限制,但某些抓取方法可能允许从源出版物中提取新闻文章的全文。分析文章内容可以深入了解新闻报道、观点和分析。
  7. 元数据和标签: Google 新闻通常包含与文章相关的元数据和标签,例如类别、主题和关键字。抓取这些元数据元素可以根据各种标准对抓取的数据进行组织和分类,从而促进进一步的分析和解释。

先决条件

现在我们了解了从目标页面抓取的数据类型,让我们通过设置开发环境来为编码做好准备。这是您需要的:

  1. 您的计算机上安装了 Node.js:
  • Node.js 就像一个帮助在 Web 浏览器之外运行 JavaScript 代码的工具。
  • 安装它后,您可以直接在计算机上运行 JavaScript 应用程序和工具。
  • 它使您可以通过 npm(节点包管理器)访问一堆有用的包和库,使您的编码工作更加轻松。
  1. JavaScript 基础知识:
  • JavaScript 是网络开发中经常使用的编程语言。
  • 学习基础知识涉及理解代码的编写方式、不同类型的数据、变量、如何重复执行操作(循环)以及做出决策(条件)等内容。
  • 充分了解 JavaScript 可以让您更改网页上的内容、与用户交谈以及在 Web 应用程序中执行各种任务。
  1. Crawlbase API 令牌:
  • 首先注册一个 免费 Crawlbase 帐户 获取您的智能代理令牌。接下来,转到 Crawlbase 智能代理仪表板 并在中找到您的免费​​访问令牌 “连接详细信息” 部分。
  • Crawlbase API 令牌是一个唯一标识符,授予对 Crawlbase 的网络爬行和抓取 API 的访问权限。
  • 使用 Crawlbase 的 Crawling API 进行抓取任务时,需要对请求进行身份验证和授权。
  • 充当代理用户名,简化与应用程序的集成。
  • 必须包含在代理调用中,向 http://smartproxy.crawlbase.com 和端口 8012.
  • 对于应用程序、智能代理和应用程序之间的安全通信至关重要 抓取 API.

抓取 Google 新闻 - HTML 数据

现在我们已经设置了编码环境,让我们开始编写 JavaScript 代码来抓取 Google 新闻页面。我们将使用Crawlbase的智能代理来快速获取目标页面的HTML内容。

谷歌新闻主页

第 1 步:创建一个新项目文件夹:

打开您的终端并输入 mkdir google-news-scraper 创建一个新的项目文件夹。

mkdir google-news-scraper

第 2 步:转到项目文件夹:

输入 cd google-news-scraper 进入新文件夹,以便更轻松地管理项目文件。

cd google-news-scraper

第 3 步:创建 JavaScript 文件:

类型 touch scraper.js 创建一个名为 scraper.js 的新文件(如果需要,您可以选择其他名称)。

touch scraper.js

第四步:添加Crawlbase包:

类型 npm install crawlbase 为您的项目安装 Crawlbase 工具。此工具可帮助您连接到 Crawlbase Crawling API,从而更轻松地从 Google 新闻收集信息。

npm install crawlbase

第5步:安装axios:

npm install axios

第6步:安装Fs:

npm install fs

第 7 步:编写 JavaScript 代码:

现在您已拥有 API 凭据并且 Crawlbase Node.js 库 网络抓取 安装完成后,让我们开始处理“scraper.js”文件。选择您想要从中获取数据的 Google 新闻页面。在“scraper.js”文件中,我们使用Crawlbase智能代理, 爱可信fs 用于从您选择的 Google 新闻页面抓取数据的库。请记住将代码中的占位符 URL 替换为您要抓取的页面的实际 URL。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
常量 轴= 要求('轴'),
https= 要求('https'),
FS = 要求('fs'),
用户名= '用户令牌',
网址= 'https://news.google.com/home?hl=en-US&gl=US&ceid=US%3Aen';

常量 代理= HTTPS。经纪人({
代理{
主持人: 'smartproxy.crawlbase.com',
端口: 8012,
AUTH{
用户名: 用户名,
},
},
拒绝未经授权: false,
});

常量 轴配置 = {
https代理: 代理人,
};

爱可信
.得到(网址,axios配置)
.然后((响应) => {
领事.日志('响应代码:', 回复。状态);

// 将响应保存到response.html 文件
fs。写文件同步('响应.html', 回复。data);

领事.日志(“响应已保存到response.html”);
})
.捕捉((错误) => {
领事.错误('错误:', 错误。的话);
});

代码说明:

此 JavaScript 代码是使用 Axios 库向指定 URL 发出 HTTP GET 请求的简单示例,并利用 Crawlbase 智能代理来增强和 大规模网络抓取。让我们分解一下代码:

  1. 导入库:
  • axios:用于发出 HTTP 请求的流行库。
  • https:用于处理 HTTPS 请求的 Node.js 模块。
  • fs:用于文件系统操作的 Node.js 模块。
1
2
3
常量 轴= 要求('轴'),
https= 要求('https'),
FS = 要求('fs');
  1. 设置用户令牌和目标 URL:
  • username:您用于身份验证的用户令牌。
  • url:您要抓取的 Google 新闻页面的 URL。
1
2
常量 用户名= '用户令牌',
网址= 'https://news.google.com/home?hl=en-US&gl=US&ceid=US%3Aen';
  1. 创建委托代理:
  • agent:使用 Crawlbase 智能代理设置代理。
  • host:来自 Crawlbase 的代理主机。
  • port:代理端口,通常为8012。
  • auth:您用于身份验证的用户名。
1
2
3
4
5
6
7
8
9
10
常量 代理=  HTTPS。经纪人({
代理{
主持人: 'smartproxy.crawlbase.com',
端口: 8012,
AUTH{
用户名: 用户名,
},
},
拒绝未经授权: false,
});
  1. 设置axios配置:
  • axiosConfig:配置axios使用创建的proxy代理。
1
2
3
常量 轴配置 = {
https代理: 代理人,
};
  1. 发出 HTTP GET 请求:
  • axios.get:使用配置的代理向指定的 URL 发送 HTTP GET 请求。
1
2
3
4
5
6
7
8
9
10
11
爱可信
.得到(网址,axios配置)
.然后((响应) => {
领事.日志('响应代码:', 回复。状态);
// 将响应保存到response.html 文件
fs。写文件同步('响应.html', 回复。data);
领事.日志(“响应已保存到response.html”);
})
.捕捉((错误) => {
领事.错误('错误:', 错误。的话);
});

此代码使用 Axios 获取指定 URL 的 HTML 内容,并将响应保存到名为“response.html”的本地文件中。 Crawlbase 智能代理的代理配置有助于通过轮换 IP 地址处理请求,从而增强网页抓取功能。

HTML输出:

Google 新闻 HTML 输出

使用 Cheerio 和 Fs 抓取 Google 新闻 - JSON 数据

第 1 步:安装 Cheerio:

npm install cheerio

第2步:导入所需的库:

1
2
3
4
常量 FS = 要求('fs'),
欢呼= 要求('cheerio'),
html内容 = fs.读取文件同步('响应.html', 'utf-8'),
$ = 快乐。加载(html内容);

第 3 步:抓取 Google 新闻文章标题:

抓取 Google 新闻头条

要抓取文章标题,请使用浏览器开发人员工具检查网页以识别每篇文章的容器。标识容器内代表文章标题的 HTML 元素。使用 Cheerio 选择器,例如 。找(),根据该元素的类来定位该元素。应用 。文本() 文本内容的提取和利用方法 。修剪() 以获得干净的结果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
功能 抓取数据(文章元素){
常量 标题=文章元素。发现('a.gPFEn').文本()。修剪();
回报 { 标题 };
}

常量 文章 = $('文章.UwIKyb'),
刮数据 = [];

// 循环浏览文章并抓取数据
的文章。((索引、文章元素) => {
常量 数据 = 抓取数据($(文章元素));
抓取的数据。(数据);
});

领事.日志(抓取数据);

第 4 步:抓取 Google 新闻文章发布者:

抓取 Google 新闻文章发布者

同样,找到网页中显示文章发布者的部分。右键单击并检查以查看源代码。识别包含发布者名称的 HTML 元素,然后使用 Cheerio 提取此文本并将其分配给 publisher 多变的。此步骤可确保从网页中准确捕获发布者的名称。

1
常量 发布者=文章元素。发现('.vr1PYe').文本()。修剪();

第 5 步:抓取 Google 新闻文章时间:

抓取 Google 新闻文章时间

要查找文章的发布时间,请检查网页源并识别相关元素。然后,利用 Cheerio 的 find 定位文本内容的方法 <time> 每篇文章中具有类“hvbAAd”的元素。这 text 方法提取该内容,并且 trim 删除任何多余的空格。清理后的文本存储在 time 用于精确时间提取的变量。

1
常量 时间=文章元素。发现('时间.hvbAAd').文本()。修剪();

第 6 步:抓取 Google 新闻文章作者:

抓取 Google 新闻文章作者

要提取文章作者,请识别 HTML 标记中指示作者的唯一类、ID 或属性。检查作者姓名在网页上的显示方式。所提供的代码片段专门用于从 Google 新闻网页的 HTML 源中收集作者姓名。

1
常量 作者=文章元素。发现('.bInasb span[aria-hidden="true"]').文本()。修剪();

第7步:完整代码:

这是完整的代码。请随意复制并将其保存在您的计算机上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
常量 FS = 要求('fs'),
欢呼= 要求('cheerio'),
html内容 = fs.读取文件同步('响应.html', 'utf-8'),
$ = 快乐。加载(html内容);

// 抓取数据的函数
功能 抓取数据(文章元素){
常量 标题=文章元素。发现('a.gPFEn').文本()。修剪();
常量 发布者=文章元素。发现('.vr1PYe').文本()。修剪();
常量 时间=文章元素。发现('时间.hvbAAd').文本()。修剪();
常量 作者=文章元素。发现('.bInasb span[aria-hidden="true"]').文本()。修剪();

回报 { 标题、出版商、时间、作者 };
}

常量 文章 = $('文章.UwIKyb'),
刮数据 = [];

的文章。((索引、文章元素) => {
常量 数据 = 抓取数据($(文章元素));
抓取的数据。(数据);
});

领事.日志(抓取数据);

JSON 输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[
{
“标题”: “早间报道——拜登和特朗普在德克萨斯州的不同停留期间就边境问题进行了决斗”,
“出版商”: “小山”,
“时间”: “21分钟前”,
“作者”: “亚历克西斯·西明格和克里斯蒂娜·卡里什”
},
{
“标题”: “拜登和特朗普对边境的决斗访问的要点”,
“出版商”: “美国有线电视新闻网”,
“时间”: “9小时前”,
“作者”: ""
},
{
“标题”: “观看拜登和特朗普关于移民、选举的边境演讲”,
“出版商”: 《华盛顿邮报》,
“时间”: “6小时前”,
“作者”: “迈克尔·卡登黑德和阿兹·帕巴拉”
},
{
“标题”: “实时更新:俄罗斯反对派人物阿列克谢·纳瓦尔尼的葬礼”,
“出版商”: “美国有线电视新闻网”,
“时间”: “34分钟前”,
“作者”: “艾德丽安·沃格特和阿迪蒂·桑加尔”
},
{
“标题”: “尽管安保严密,阿列克谢·纳瓦尔尼在俄罗斯举行的葬礼还是吸引了大批人群前往莫斯科教堂”,
“出版商”: 《哥伦比亚广播公司新闻》,
“时间”: “5分钟前”,
“作者”: “海莉·奥特”
},
{
“标题”: “纳瓦尔尼葬礼在莫斯科举行,大量警察在场”,
“出版商”: “美国全国广播公司财经频道”,
“时间”: “26分钟前”,
“作者”: “珍妮·里德和苏菲·基德林”
}
]

总结

这份综合指南为您提供了使用 JavaScript 从 Google 新闻中抓取数据所需的一切 Crawlbase 智能代理。它涵盖抓取文章标题、出版商、发布时间和作者姓名。无论您是网络抓取新手还是有一定经验,这些 网页抓取技巧 使有效提取数据变得更加容易。您可以调整代码以从其他站点抓取数据,从而帮助您获取项目的可操作信息。

探索其他抓取指南:

如何抓取 Realtor.com - 提取房地产数据

如何刮取三星产品

如何抓取谷歌学术搜索结果

如何抓取苹果应用商店数据

如何抓取黄页数据

常见问题解答

什么是智能代理?

Crawlbase 的智能代理是一种先进的网络爬行解决方案,提供动态且智能的代理网络。与传统代理不同,智能代理利用人工智能和机器学习来导航 IP轮换 有效, 躲避方块 和验证码。它使用户能够无缝访问数百万个 IP,确保匿名并防止禁止。具有无限带宽、自定义地理定位等功能 数据中心和住宅代理,它简化了代理管理,使其成为高效、安全、不受限制地从网络提取数据的理想选择。

使用智能代理抓取 Google 新闻是否合法?

Google 新闻作为新闻聚合器运营,其内容归个人创作者所有。根据谷歌的服务条款,抓取公开的事实信息通常是合法的,因为它属于常识。但是,用户必须避免复制或分发受版权保护的数据。 Crawlbase 的智能代理通过有效地导航轮换 IP 地址来帮助合法抓取,确保在不侵犯版权的情况下访问数据。它增强了匿名性、合规性和安全性,使其成为从 Google 新闻中合乎道德地收集信息的宝贵工具。

智能代理能否保证抓取 Google 新闻 100% 成功?

虽然 Crawlbase 的智能代理通过其 轮换IP地址、人工智能和机器学习技术,并不能保证抓取 Google News 100% 成功。成功取决于多种因素,包括网站更改、反抓取措施以及遵守 Google 条款。智能代理显着提高了效率并降低了被阻止或验证码的可能性,为网页抓取提供了强大的工具。然而,用户应该监控和调整他们的抓取策略,以适应目标网站结构或政策的任何变化。

我可以使用智能代理抓取除 Google 新闻之外的其他网站吗?

绝对地! Crawlbase 的智能代理用途广泛,可用于抓取 Google 新闻以外的各种网站。其动态 IP 轮换和人工智能驱动的功能使其能够有效地浏览不同平台,确保高效的数据提取,同时 避免封锁和禁令。无论是市场研究、竞争对手分析还是任何其他 网页抓取需求,智能代理提供了一个安全且可扩展的解决方案,用于访问和收集来自不同在线源的数据。

如何将智能代理集成到 Google 新闻的网页抓取脚本中?

将智能代理集成到 Google 新闻的网页抓取脚本中需要将脚本配置为通过智能代理的轮换 IP 地址路由请求。您的脚本不是直接连接到 Google 新闻,而是将请求发送到智能代理,智能代理又将它们转发到抓取 API。智能代理使用您的私有访问令牌处理授权,增强匿名性并降低阻止或验证码的风险。确保您的脚本支持基于 HTTP/S 的 API,并将智能代理的指定 URL 和端口与您的访问令牌一起使用以实现无缝集成。这样,您的网络抓取活动将受益于增强的安全性、效率以及对网络抓取法规的合规性。