<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
      <title>爬虫教程</title>
      <link>https://reptile-kb.pages.dev</link>
      <description>最近的10条笔记 on 爬虫教程</description>
      <generator>Quartz -- quartz.jzhao.xyz</generator>
      <item>
    <title>00-首页</title>
    <link>https://reptile-kb.pages.dev/00-%E9%A6%96%E9%A1%B5/00-%E9%A6%96%E9%A1%B5</link>
    <guid>https://reptile-kb.pages.dev/00-%E9%A6%96%E9%A1%B5/00-%E9%A6%96%E9%A1%B5</guid>
    <description><![CDATA[ 爬虫教程 · 首页 这个 vault 的用法：Obsidian 里”打开文件夹作为仓库”，选本文件夹。带编号的是叙事章节，按顺序读；90-卡片 是蒸馏出来的知识卡片，复习和检索用；灰色链接 = 已规划还没写的章，它们是这座库的路线图，不是坏链。 全图 第一部分 基础篇：跑起来，抓得对 01-网页是什么，爬虫是什么 ✅ 02-HTTP请求与响应逐行拆 03-状态码与请求头 04-CSS选择器：在HTML里捞数据 05-XPath与lxml 06-存数据怎么选 07-翻很多页：三种分页 08-列表页与详情页 第二部分 进阶篇：跑得快，跑得稳 09-限速：sleep不是限速 10-登录与Cookie... ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item><item>
    <title>01-网页是什么，爬虫是什么</title>
    <link>https://reptile-kb.pages.dev/10-%E5%9F%BA%E7%A1%80%E7%AF%87/01-%E7%BD%91%E9%A1%B5%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%8C%E7%88%AC%E8%99%AB%E6%98%AF%E4%BB%80%E4%B9%88</link>
    <guid>https://reptile-kb.pages.dev/10-%E5%9F%BA%E7%A1%80%E7%AF%87/01-%E7%BD%91%E9%A1%B5%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%8C%E7%88%AC%E8%99%AB%E6%98%AF%E4%BB%80%E4%B9%88</guid>
    <description><![CDATA[ 属于：00-首页 第 1 章 网页是什么，爬虫是什么 这一章读完，你电脑上会跑着一个真能抓东西的程序，六行代码。但在这六行代码之前，得先花十分钟说清楚一件事——很多人写了半年爬虫都没说清楚的事： 网页到底是个什么东西。 你每天打开的网页，其实是个文本文件 现在打开浏览器，随便进一个页面，按 Ctrl + U。 一屏幕尖括号对吧。全是 &lt;div&gt;、&lt;a href=&quot;...&quot;&gt;、&lt;span&gt; 这种东西，密密麻麻，毫无美感。 这就是网页的真身。一个纯文本文件，格式名叫 HTML。 你平时看到的排版、图片、颜色、动画，是浏览器读完这个文本之后画出... ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item><item>
    <title>200不等于拿到了内容</title>
    <link>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/200%E4%B8%8D%E7%AD%89%E4%BA%8E%E6%8B%BF%E5%88%B0%E4%BA%86%E5%86%85%E5%AE%B9</link>
    <guid>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/200%E4%B8%8D%E7%AD%89%E4%BA%8E%E6%8B%BF%E5%88%B0%E4%BA%86%E5%86%85%E5%AE%B9</guid>
    <description><![CDATA[ 状态码只回答”服务器应答了没有”，不回答”你拿到内容没有”。 实测 2026-11-15：requests 请求 xiaohongshu.com 返回 200，final URL 是 /login?redirectPath=…，拿到的是三万多字节的登录壳，一条笔记都没有。 不报错的错误比 403 阴险。主场章节：03-状态码与请求头、12-断电不丢。. ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item><item>
    <title>UA胸牌是对抗的最外层</title>
    <link>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/UA%E8%83%B8%E7%89%8C%E6%98%AF%E5%AF%B9%E6%8A%97%E7%9A%84%E6%9C%80%E5%A4%96%E5%B1%82</link>
    <guid>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/UA%E8%83%B8%E7%89%8C%E6%98%AF%E5%AF%B9%E6%8A%97%E7%9A%84%E6%9C%80%E5%A4%96%E5%B1%82</guid>
    <description><![CDATA[ requests 默认自报家门 python-requests/2.x.x，等于胸牌写着”我是爬虫”。换 Chrome 的 User-Agent 是最古老的一招。 但有的站根本不看胸牌：小红书查的是登录态 Cookie，实测换了 UA 依旧 200 + 登录页。胸牌只是对抗最外层一层皮。 往里走：10-登录与Cookie、15-TLS指纹与curl_cffi。. ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item><item>
    <title>URL片段永远不上服务器</title>
    <link>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/URL%E7%89%87%E6%AE%B5%E6%B0%B8%E8%BF%9C%E4%B8%8D%E4%B8%8A%E6%9C%8D%E5%8A%A1%E5%99%A8</link>
    <guid>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/URL%E7%89%87%E6%AE%B5%E6%B0%B8%E8%BF%9C%E4%B8%8D%E4%B8%8A%E6%9C%8D%E5%8A%A1%E5%99%A8</guid>
    <description><![CDATA[ URL 里 # 后面的片段（fragment）是浏览器本地指令，永远不随请求发送到服务器。 判断尺子：# 后面变了、页面内容也跟着变 → 那些内容是浏览器拿到 HTML 后自己再去要的 → 直接下载 HTML 抓不到正文。 这类页面归 13-JS渲染与接口发现 收拾。. ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item><item>
    <title>一个网页等于1个HTML加N个资源</title>
    <link>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/%E4%B8%80%E4%B8%AA%E7%BD%91%E9%A1%B5%E7%AD%89%E4%BA%8E1%E4%B8%AAHTML%E5%8A%A0N%E4%B8%AA%E8%B5%84%E6%BA%90</link>
    <guid>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/%E4%B8%80%E4%B8%AA%E7%BD%91%E9%A1%B5%E7%AD%89%E4%BA%8E1%E4%B8%AAHTML%E5%8A%A0N%E4%B8%AA%E8%B5%84%E6%BA%90</guid>
    <description><![CDATA[ 一个网页 = 1 个 HTML 文本 + N 个资源文件（css/js/图片）。HTML 里只留地址（&lt;link href&gt;、&lt;img src&gt;），浏览器按地址再发一批请求取资源。 现象：存下来的 html 本地打开丢排版、裂图——不是 bug，是资源没下载。quotes.toscrape.com 实测 img 标签 0 个，所以只丢样式不裂图。. ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item><item>
    <title>乱码是翻译事故</title>
    <link>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/%E4%B9%B1%E7%A0%81%E6%98%AF%E7%BF%BB%E8%AF%91%E4%BA%8B%E6%95%85</link>
    <guid>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/%E4%B9%B1%E7%A0%81%E6%98%AF%E7%BF%BB%E8%AF%91%E4%BA%8B%E6%95%85</guid>
    <description><![CDATA[ 服务器给的是字节，字节变文字要按码表（UTF-8 / GBK）翻译。乱码 = 翻译事故，不是抓取事故；抓到的字节永远是对的。 锟斤拷来历（实测）：UTF-8 替换符的字节 EF BF BD 被 GBK 码表翻成”锟斤拷”。print(&quot;\ufffd\ufffd&quot;.encode(&quot;utf-8&quot;).decode(&quot;gbk&quot;)) → 锟斤拷。 修法：r.encoding = r.apparent_encoding，或明确指定 r.encoding = &quot;gbk&quot;。r.content 是字节，r.text 是翻译结果。. ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item><item>
    <title>网页就是一个文本文件</title>
    <link>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/%E7%BD%91%E9%A1%B5%E5%B0%B1%E6%98%AF%E4%B8%80%E4%B8%AA%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6</link>
    <guid>https://reptile-kb.pages.dev/90-%E5%8D%A1%E7%89%87/%E7%BD%91%E9%A1%B5%E5%B0%B1%E6%98%AF%E4%B8%80%E4%B8%AA%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6</guid>
    <description><![CDATA[ 网页是一个纯文本文件（HTML）。浏览器干两件事：下载它、渲染它。爬虫只干第一件。 推论：发现”爬虫抓到的和浏览器看到的不一样”时，先怀疑渲染出来的样子骗了你——文本里可能压根没有那块内容。. ]]></description>
    <pubDate>Sat, 14 Nov 2026 16:00:00 GMT</pubDate>
  </item>
    </channel>
  </rss>