You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中facebook-scraper无法爬取部分公开主页/资料及编码错误求助

Facebook爬虫问题解决指南

问题1:仅能爬取部分公开页面

你的脚本仅能成功爬取公共主页EvanCarmichaelcom,但无法爬取terrywadethompson、evan.tinstman这两个公开个人账号的内容,核心原因是Facebook的反爬策略差异:

  • 公共主页的公开内容对未登录用户开放权限较高,而个人账号的公开内容,未登录状态下会被限制访问,即使页面标记为公开。
  • facebook_scraper库在未登录时,无法绕过Facebook对个人账号内容的访问限制。

解决步骤

  1. 获取Facebook登录凭证:
    用浏览器登录Facebook,导出登录后的cookies(可使用浏览器插件导出),保存为facebook_cookies.json文件。
  2. 在爬虫中传入凭证:
    修改脚本,在get_posts中添加cookies参数,示例如下:
    from facebook_scraper import get_posts
    import json
    
    # 加载cookies文件
    with open('facebook_cookies.json', 'r') as f:
        cookies = json.load(f)
    
    pageList = ['EvanCarmichaelcom','terrywadethompson','evan.tinstman']
    
    for pageName in pageList:
        print(pageName)
        # 传入cookies参数爬取内容
        for post in get_posts(pageName, pages=2, cookies=cookies):
            print(post)
    

问题2:传入凭证后出现Unicode编码错误

传入凭证爬取evan.tinstman时,触发UnicodeEncodeError: 'charmap' codec can't encode characters in position 44-46: character maps to <undefined>,这是因为Windows系统默认控制台编码(如GBK)无法处理帖子中的特殊Unicode字符,导致输出失败。

解决方法

方法1:强制控制台输出为UTF-8编码

在脚本开头添加以下代码,修改标准输出的编码:

import sys
sys.stdout.reconfigure(encoding='utf-8')

方法2:将内容写入文件而非控制台输出

避免直接在控制台打印含特殊字符的内容,改为写入UTF-8编码的文件:

from facebook_scraper import get_posts
import json

with open('facebook_cookies.json', 'r') as f:
    cookies = json.load(f)

pageList = ['EvanCarmichaelcom','terrywadethompson','evan.tinstman']

for pageName in pageList:
    print(pageName)
    # 将帖子写入JSON文件
    with open(f"{pageName}_posts.json", "w", encoding="utf-8") as f:
        for post in get_posts(pageName, pages=2, cookies=cookies):
            json.dump(post, f, ensure_ascii=False, indent=2)

方法3:过滤无法编码的字符

对帖子内容进行清理,忽略无法编码的字符:

for post in get_posts(pageName, pages=2, cookies=cookies):
    # 清理内容中的特殊字符
    cleaned_content = post.get('content', '').encode('utf-8', errors='ignore').decode('utf-8')
    print(f"帖子内容:{cleaned_content}")

内容的提问来源于stack exchange,提问作者DablewCodes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:35:34