要将 Facebook 群组成员导出为 CSV,请打开你有权访问的群组,在进入其 成员 标签页之前运行这个开源浏览器脚本,然后滚动页面加载个人资料,最后点击 Download X members。导出的文件仅包含你浏览期间被脚本捕获到的成员,并不保证涵盖群组中的所有成员。

如果你想根据这份 CSV 创建潜在客户名单,请先审核个人资料,再通过 Datablist 为符合条件的姓名补充 LinkedIn URL,之后再联系对方。

唯一的问题是:抓取 Facebook 群组会带来大量低质量 Leads! 群组里往往有学生、实习生以及其他不属于你目标受众的人。

Facebook 群组很有价值,但必须筛选其中的成员。我的建议是:把 Facebook 群组成员当作寻找潜在联系人的线索来源,但不要向整个群组群发邮件! 真正的难点在于补充 Facebook Leads 的数据、完成细分,然后只联系相关的潜在客户。

Facebook 是个人社交网络,个人数据受到保护。有些 Email Finder 工具声称可以根据 Facebook 个人资料查找邮箱,但根据我的实际体验,效果并不理想。更简单的做法是利用 Facebook 个人资料中的信息查找 LinkedIn 主页。 LinkedIn 很适合 Cold Messaging;而且它是职场社交网络,因此通过 LinkedIn 个人资料查找邮箱的服务通常效果更好。

通过这份分步指南,你将学会:

第 1 步:导出 Facebook 群组成员 Leads

Facebook 是个人社交网络,没有内置的群组成员导出功能。要导出群组成员,你需要借助第三方工具。

有两种选择:

  • 使用 Phantombuster 等云端数据提取服务,通过你的 Facebook 凭据在其服务器上运行脚本。
  • 在浏览器中使用脚本或扩展,在你浏览 Facebook 时抓取数据。

该脚本会捕获你浏览群组 成员 标签页时加载的成员数据。你能看到哪些个人资料,取决于你对群组的访问权限以及 Facebook 在浏览器中加载的内容。

新成员会显示在“成员”页面上。
新成员会显示在“成员”页面上。

Facebook 会主动阻止数据抓取,并设有检测自动化 Scraper 的防护机制。使用云端数据提取服务时,你需要通过代理降低账号被封锁的风险。不过,Facebook 一直在升级防护措施,因此使用自动化抓取时务必谨慎。

本指南将介绍如何使用浏览器脚本,在浏览“成员”标签页的同时抓取数据。

注意
只有群组页面上的“成员”标签页可访问时,才能提取数据。因此,群组必须是公开群组;如果是私密群组,你必须先成为该群组的成员。

将 Facebook 群组成员导出为 CSV 文件

要提取 Facebook 群组成员,只需将以下脚本复制粘贴到 Chrome Developer Console 中。

注意
Facebook 群组 Scraper 的源代码已发布在 GitHub。该脚本通过读取网页加载成员时发出的 API 请求来提取成员数据。

打开 Chrome Developer Console——Windows 快捷键为“Ctrl + Shift + I”,Mac 快捷键为“Cmd + Option + I”。
打开 Chrome Developer Console——Windows 快捷键为“Ctrl + Shift + I”,Mac 快捷键为“Cmd + Option + I”。
将 Facebook Group Extractor 脚本复制粘贴到 Console 标签页。
将 Facebook Group Extractor 脚本复制粘贴到 Console 标签页。

⚠️ 运行前请先检查脚本。 浏览器开发者工具可能会警告你不要粘贴代码。请通过源代码仓库检查脚本的具体操作,并仅在信任该脚本时运行。

Chrome Console 警告
Chrome Console 警告

抓取 Facebook 群组成员个人资料

按下键盘上的 Enter 键运行脚本。 页面右下角会出现一个写有“Download X members”的按钮。

此时可以关闭 Developer Console,脚本会继续运行 👍

页面上会弹出一个新按钮
页面上会弹出一个新按钮

在较新的版本中,抓取到的 Leads 会存储在浏览器缓存里。即使浏览器崩溃,这些数据也能保留下来。稍后刷新页面并再次粘贴脚本时,之前抓取的数据会自动恢复。你也可以点击“Reset”按钮清空缓存,从空白名单重新开始。

接下来,进入群组页面的“成员”标签页。Facebook 会显示新成员列表,并在页面滚动时自动加载更多内容。向下滚动即可加载更多成员。

滚动过程中,脚本会捕获 Facebook API 请求并保存数据。在条件允许的情况下,数据也会同步写入缓存。

滚动页面,抓取 Facebook 群组成员

导出 Facebook 群组成员

点击“Download X members”按钮,将成员导出为 CSV 文件。

CSV 包含 8 列:

  • Profile Id:Facebook 唯一标识符,由多位数字组成。
  • Full Name:拼接后的名字和姓氏。
  • Profile Link:格式为 https://www.facebook.com/{{username}} 的个人资料 URI。如果无法获取,则使用通用 URI:https://www.facebook.com/profile.php?id={{profile_id}}
  • Bio:成员的个人简介文本,可能是职位、学校名称、城市,也可能为空。
  • Image Src:个人头像 URL。
  • Group Id:Facebook 群组标识符,由多位数字组成。
  • Group Joining Text:用户加入群组至今的相对时间,格式为“Member since XX”。
  • Profile Type:Facebook 个人资料类型,可以是“User”或“Page”。

注意
如需停止抓取并移除按钮,只需重新加载网页。

清空缓存并重新开始

在点击“Reset”按钮之前,成员名单会一直保存在缓存中。你可以连续抓取多个 Facebook 群组,然后使用 Group Id 字段进行细分。

如果希望每个群组分别生成一份新 CSV,请在点击“成员”标签页之前先点击“Reset”按钮。

FAQ

最多可以提取多少名成员?

CSV 包含脚本运行期间,你滚动浏览成员标签页时实际加载的个人资料。可获取的数量会因群组、你的访问权限以及 Facebook 界面而变化。请对照下载计数与实际加载的成员数量;如果之后再次访问该群组,可以合并后续导出的数据。

抓取群组成员需要多长时间?

所需时间取决于页面在滚动过程中加载的个人资料数量。请观察 Download X members 计数器;当你获得所需资料,或页面不再加载更多成员时,即可停止。

为什么滚动页面时计数器没有增加?

Facebook Group Scraper 会自动丢弃重复成员。如果某位成员已经被抓取,就不会再次添加。初始化脚本时,之前抓取的成员会从缓存中恢复。因此,无论你重新抓取同一个群组,还是抓取包含此前成员的新群组,都只会新增尚未记录的个人资料。

Facebook 会封禁我的账号吗?

任何提取方式都无法保证 Facebook 账号不会受到限制。在收集成员数据前,请先查看 Facebook 的条款,并确认你有权访问该群组;导出的数据也只能用于你获准开展的用途。

第 2 步:查找 LinkedIn 个人资料

你已经有一份包含大量潜在客户的 CSV 文件了吗?很好!现在可以把它转化为一套潜在客户数据库了。

在 Facebook 上发送陌生开发消息很容易被当成垃圾信息。Facebook 是个人社交网络。我不希望在那里收到商务推销,你的潜在客户同样如此。

只要有潜在客户的姓名及公司名称(或域名),就可以查找其 LinkedIn 个人资料,用于发送 LinkedIn 消息或寻找工作邮箱。

本指南将介绍如何使用 Datablist 的 LinkedIn Profile Finder from name,为 Facebook 潜在客户补充 LinkedIn Profile URL。该 enrichment 会使用潜在客户的姓名执行 Google 搜索,从而查找对应的 LinkedIn 个人资料。

创建 Datablist 集合并导入 CSV 文件

Datablist 非常适合查看和编辑 CSV 文件,也可以对数据执行各种操作。本指南将演示如何对潜在客户使用“LinkedIn Profile Finder”操作。它接收一个姓名和一个关键词,并在找到匹配结果时返回 LinkedIn 个人资料 URL。

首先,注册 Datablist,然后创建一个集合。

点击侧边栏上的“+”按钮创建集合,然后点击“Import CSV/Excel”。

导入 CSV/Excel 文件
导入 CSV/Excel 文件

上传 CSV 文件,为每一列创建一个 property,然后开始导入。完整步骤请参阅我们的数据导入文档。

为每一列创建 property
为每一列创建 property

清洗 Leads 名单

首先,筛选集合,移除“Page”类型的个人资料,只保留 Profile Type 为“User”的 Leads。

点击 Filters
点击 Filters
筛除“Page”
筛除“Page”

然后删除这些记录。

删除不需要的“Page”类型 Leads
删除不需要的“Page”类型 Leads

如果你和我一样喜欢简洁的视图,可以关闭不重要的 properties,仅保留“Full Name”“ProfileLink”和“Bio”。

Manage Properties
Manage Properties
隐藏 Properties
隐藏 Properties

接下来筛选集合,移除非职场人群。使用 Datablist 搜索功能或筛选器查找“school”“university”“student”“college”等关键词。

移除学生、实习生等
移除学生、实习生等

如果你经营本地业务,还可以筛选 Bio 中包含目标城市或国家的成员。

注意
Facebook Bio 有时会产生误导。例如,学生的 Bio 可能写着“Works at {学校名称}”。请逐一查看 Leads,并移除 Bio 中包含学校名称的记录。

提取职业信息

如果群组成员只有姓名,没有任何工作单位信息,你只能依靠人工搜索并手动补充资料。最有效的方法是在 Google 中搜索“{full name} site:linkedin.com/in/”,然后查看 Google 列出的个人资料。

仅凭姓名搜索 LinkedIn 个人资料,通常会出现同名用户。请查看他们的个人资料页面,结合所在地、职位和照片,判断哪一位才是你的潜在客户。

幸运的是,部分 Facebook 个人资料包含 Bio,可以帮助你自动缩小匹配范围。

你还可以对 Facebook 的 Bio 列使用 Entity Name Extraction。它可以从简介文本中提取公司名称、人物和地点,让你在查找 LinkedIn 资料或人工审核前获得更整洁的字段。

只保留包含公司信息的 Leads

要聚焦 B2B Leads,请筛选包含公司名称的个人资料。具体做法是筛选 bio property,并排除不含 at 文本的成员。

B2B Leads 的 Bio 通常采用以下格式:Works at XX、CEO at XX 或 Founder at XX。

重要:请务必在 at 前后各加一个空格,否则任何包含字母组合 at 的单词都会被匹配。

筛除非商业个人资料
筛除非商业个人资料

删除筛选出的 Leads,然后移除筛选条件,即可得到一份干净的名单。

移除 Filter
移除 Filter
一份整洁的 B2B Leads 名单(抱歉,截图是法语界面)
一份整洁的 B2B Leads 名单(抱歉,截图是法语界面)

注意: 这会从名单中移除大量 Leads,而这很正常。Lead Generation 一向如此:先从一份大名单开始,再逐步筛选出少量真正有价值的对象。 如果想增加 Leads 数量,可以抓取更多个人资料,寻找更多群组,以此类推。

现在,你已经将范围缩小到 Bio 中包含公司名称的 Facebook Leads。接下来需要从“Bio”中提取公司名称,以便使用 Datablist 的“LinkedIn Profile Finder from name”。

自动提取公司名称

现在,你需要从 Bio 中提取公司名称。有了联系人姓名和公司名称后,就可以运行 Datablist 的 LinkedIn Profile Finder from name(见下文)。

在“Edit”菜单中点击“AI Editing”。

AI Editing
AI Editing

输入以下 Prompt:

从 Bio 中提取公司名称,并将其写入一个名为“Keyword”的新 property。
公司名称位于“at”一词之后。
公司名称可能包含多个单词。

使用 {{X}} 选择集合中的“Bio”property。

选择 Bio Property
选择 Bio Property

以下是点击“Generate”之前的完整 Prompt。

最终 Prompt
最终 Prompt

然后点击“Generate”生成脚本。你会看到结果预览。如果结果符合预期,请点击“Run on items”。

预览公司名称
预览公司名称

手动提取其余关键词

如果想获得更多 Leads,可以处理最初的完整潜在客户名单,并搜索特定词语。值得关注的 Bio 通常包含“works”“founder”“CEO”“marketing”等词。请根据你的业务和 Facebook 界面语言调整关键词。

注意
如需编辑单元格,请先点击该单元格,再按 Enter 进入编辑模式。

填写 keyword property
填写 keyword property

运行 LinkedIn Profile Finder from name enrichment

LinkedIn Profile Finder from name 使用搜索引擎自动查找 LinkedIn 个人资料。该 enrichment 包含在 Datablist Standard 套餐中。 点击此处升级。

先筛选集合,优先显示已填写“Keyword”property 的 Leads。然后点击“Enrich”按钮打开 Enrichments 面板,选择 LinkedIn Profile Finder from name,进入 enrichment 配置抽屉。

Enrichments
Enrichments
选择 LinkedIn Profile Finder from name
选择 LinkedIn Profile Finder from name

重要
LinkedIn Profile Finder from name 的准确率与关键词质量直接相关。与其选择人数众多的大群组,不如优先寻找成员更精准的小型 Facebook 群组。

映射输入 Properties
映射输入 Properties

然后点击“Continue to outputs configuration”。该 enrichment 接收输入并生成输出。本例中的 enrichment 会返回 LinkedIn Profile Url、LinkedIn Profile Title 和 LinkedIn Profile Summary。

点击“+”按钮,将这些 properties 添加到集合中。

映射输出 Properties
映射输出 Properties

点击“Run on first 10 items”运行 LinkedIn Profile Finder from name。如果结果符合预期,再点击“Run enrichment on all items”处理全部 Leads。该 enrichment 每批处理 30 条 Leads 数据。

预览运行结果
预览运行结果

获取更优质 Leads 的技巧
LinkedIn 在北美和欧洲的普及率较高,在亚洲则相对较低。为了提高 LinkedIn 个人资料的搜索准确率,建议选择区域性群组。例如,可以查找带有“European”或“French”“Canadian”等国家或地区关键词的群组;面向中国市场时,也可以优先选择带有“China”“Chinese”或具体城市名称的行业群组。

第 3 步(可选):获取完整 LinkedIn 个人资料数据

通过 LinkedIn Profile Finder from name 返回的 Google 搜索结果包含的信息比较有限。

Datablist 还提供另一项 enrichment,可以根据 LinkedIn Profile URL 抓取完整的 LinkedIn 数据!

获得结果后,请通过筛选仅保留成功匹配到 LinkedIn 个人资料的成员。

筛选结果
筛选结果

然后选择 LinkedIn Profile Scraper enrichment。

LinkedIn Profile Scraper
LinkedIn Profile Scraper

接着映射包含 LinkedIn Profile URL 的 property,通常应为 LinkedIn Page。Datablist 会执行部分自动映射,但由于它检测到 Facebook URL 同样是链接,也可能误选 Facebook URL……请务必映射正确的 property。

LinkedIn Profile Scraper 输入配置
LinkedIn Profile Scraper 输入配置

在下一个配置页面中,点击“+”,根据该 enrichment 的结果创建新的 properties。

请至少提取:

警告
不要将“Full Name”输出映射到 Facebook 抓取结果中的 Full Name property。 否则,Datablist 为避免覆盖数据,可能会跳过这些记录。点击“X”忽略该输出,或点击“+”新建一个空白 property。

LinkedIn Profile Scraper 输出配置
LinkedIn Profile Scraper 输出配置

完成后,你将获得一套完整的 Leads properties。可以用它们筛除低质量 Leads,也可以生成个性化的开场文案。

LinkedIn Profile Scraper 结果
LinkedIn Profile Scraper 结果

第 3 步补充:通过 LinkedIn Company Page 获取公司域名

第 3 步会生成“Current (or last) experience company page URL”。Datablist 提供了一种简单的方法,可以通过 LinkedIn Company Page 获取 Company Domain。

Company Domain 对第 4 步:查找邮箱地址非常重要!

点击“Enrich”按钮,然后选择 Company Domain/LinkedIn Company Page Lookup enrichment。

LinkedIn Page - Domain Lookup
LinkedIn Page - Domain Lookup

选择“Current (or last) experience company page URL”作为输入。

LinkedIn Domain Lookup 输入配置
LinkedIn Domain Lookup 输入配置

再创建一个新 property,用来存储域名。

LinkedIn Domain Lookup 输出配置
LinkedIn Domain Lookup 输出配置

然后运行 enrichment,为 Leads 获取公司域名。

第 4 步:查找 Facebook 群组成员邮箱

如果你要开展 Email Marketing,就需要邮箱地址。需要说明的是:无法直接从 Facebook 获取邮箱地址。

不过,我们可以利用姓名、公司名称或域名,以及 LinkedIn Profile URL 来查找邮箱!

这正是 Email Finder enrichment 的作用。

点击“Enrich”按钮,搜索 Email Finder。

Email Finder Enrichment
Email Finder Enrichment

在 Inputs 中,映射 First Name、Last Name、Company Name(来自此步骤)或 Company Domain(来自 LinkedIn Profile Scraper)。

⚠️ 注意
如果你有真实的 First Name、Last Name 和 Company Domain,Email Finder 的结果会准确得多。 如果你跳过了相关内容,请阅读第 3 步:获取完整 LinkedIn 个人资料数据。

如果只有 Full Name,可以使用 Name Parser enrichment,将姓名拆分为 First Name、Last Name 等组成部分。

将 LinkedIn Profile 输入映射到通过 LinkedIn Profile Finder from name 获得的数据。

Email Finder 输入配置
Email Finder 输入配置

然后创建新的 properties 来存储结果。该 enrichment 会返回两个 properties:

  • Email——邮箱地址
  • Email Status——已找到邮箱的送达状态信息;如果未找到,则返回“not_found”消息。
Email Finder 输出配置
Email Finder 输出配置

接着运行 Email Finder enrichment。

价格说明
Email Finder 对每个成功找到的邮箱收取 25 credits。未找到邮箱时不会扣费。

Email Finder 结果
Email Finder 结果

第 5 步:用新成员更新集合

首次抓取 Facebook 群组成员后,可以定期查看新增成员,并更新 Datablist 集合。

Datablist 支持为集合中的任意 property 设置唯一性约束。启用“Do not allow duplicate values”后,导入 CSV 时会跳过或合并重复行。

为“Profile Id”property 启用“Do not allow duplicate values”。每个 Facebook 个人资料的该值都是唯一的,而且不会改变。

为 Profile Id 添加唯一性约束
为 Profile Id 添加唯一性约束

将结果导出为 Excel 文件(可选)

如果需要使用 Microsoft Excel 处理 Facebook 群组成员,请点击“Export”按钮,并选择“Microsoft Excel”作为导出格式。

将抓取脚本保存到 Chrome 扩展

每次都将脚本复制粘贴到 Chrome Console 非常耗时。好消息是,你可以使用 Chrome 扩展将脚本快速注入页面。 你既可以让它在 Facebook 页面上自动运行,也可以点击后再注入脚本。

通过 Chrome 扩展快速访问
通过 Chrome 扩展快速访问

该 Chrome 扩展名为“Inject Code”,可从 Chrome Extensions 商店获取: https://chromewebstore.google.com/detail/inject-code/jpbbdgndcngomphbmplabjginoihkdph

Chrome Store
Chrome Store

安装 Chrome 扩展后,点击并配置一个新脚本。

配置 Inject Code
配置 Inject Code

点击“+”按钮创建一个“Snipper (script)”。

点击添加 New Snippet
点击添加 New Snippet

然后在配置页面使用以下设置:

  • Name:Facebook
  • URL Filter:https://www.facebook.com/*
  • Type:js
  • AutoRun:选择 on,在 Facebook 页面上自动注入脚本;也可以选择 off,之后通过扩展菜单点击运行。
  • CodeSource:Custom Code

点击“Save”。

Snippet 配置
Snippet 配置

固定该扩展,即可从浏览器导航栏快速访问。大功告成!现在可以开始抓取 Facebook 数据了。

Snippet 配置
Snippet 配置

其他免费 Scraper 教程


如果你对本指南有任何反馈或疑问,欢迎联系我们。