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

如何从Quizlet网站获取词集?C#控制台程序遇403错误

解决Quizlet爬取403错误及入门方向

一、先解决当前403错误

  • 原因:默认HttpClient请求未携带浏览器标识,被网站反爬机制拦截。
  • 解决方法:给请求添加模拟浏览器的请求头,修改后代码如下:
static async void WebsiteStuff()
{
    Console.Clear();
    await GetWebsiteInfo();
    Console.ReadLine();
}

static async Task GetWebsiteInfo()
{
    using HttpClient client = new HttpClient();
    // 添加模拟浏览器的请求头,避免被反爬识别
    client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36");
    
    try
    {
        string response = await client.GetStringAsync("https://quizlet.com/ch/795679237/test2-flash-cards/?funnelUUID=546d9a40-6e88-42ce-aac9-795f71a1bec5");
        Console.WriteLine(response);
    }
    catch (HttpRequestException ex)
    {
        Console.WriteLine($"请求失败:{ex.Message}");
    }
}

备注:用using声明HttpClient可自动释放资源,比直接实例化更规范。

二、更高效的词集获取思路

直接爬取网页HTML后续还需解析,效率低且易触发反爬,推荐两种方向:

  • 优先用Quizlet官方API:Quizlet提供开放API(需申请密钥),可直接通过接口获取结构化的词集数据,这是最稳定合规的方式。
  • 若官方API受限,可做网页接口逆向:打开浏览器F12开发者工具,切换到Network标签,刷新词集页面,观察XHR/Fetch类型的请求,找到返回词集数据的JSON接口,直接请求该接口比爬HTML更简单。

三、入门搜索关键词

  • C# HttpClient 请求头设置
  • Quizlet API 词集获取
  • 网页接口逆向分析
  • 反爬绕过 User-Agent
  • C# HTML解析(如使用HtmlAgilityPack库)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 03:15:15