恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
用Vscode实现简单的python爬虫:从安装到配置环境变量到pip与requests、bs4安装,TaoToken统一Key通道顺带打通
首页
资讯中心
/
用Vscode实现简单的python爬虫:从安装到配置环境变量到pip与requests、bs4安装,TaoToken统一Key通道顺带打通
用Vscode实现简单的python爬虫:从安装到配置环境变量到pip与requests、bs4安装,TaoToken统一Key通道顺带打通
发布时间:2026/10/17 17:20:30
1. 为什么零基础在 Vscode 里搭 Python 爬虫环境总卡在第一步很多人第一次写爬虫卡住的地方根本不是代码而是环境。你打开 Vscode新建一个demo.py敲下import requests终端立刻甩给你一行红字ModuleNotFoundError: No module named requests。这时候你才意识到Python 装是装了但 pip 在哪、环境变量配没配对、Vscode 到底用的是哪个解释器全是糊涂账。我自己刚开始学爬虫那会儿最崩溃的不是写不出抓取逻辑而是python命令在 cmd 里能用切到 Vscode 的终端就报「不是内部或外部命令」。后来才搞明白Vscode 的集成终端继承的是系统环境变量如果你装 Python 时没勾选「Add Python to PATH」或者装完没重启它就读不到。这个坑几乎每个零基础的人都会踩一遍。这篇内容面向的是完全没碰过 Python 的读者目标很明确在 Vscode 里从零把爬虫环境搭起来包括装解释器、配环境变量、用 pip 装 requests 和 bs4最后跑一个抓取静态页面的小爬虫验证整条链路通不通。顺带我会把 TaoToken 的统一 Key 通道接进编辑器这样你后面写爬虫遇到报错、想让它帮你解释response.status_code是什么意思、或者让模型辅助生成解析逻辑时不用再单独去折腾一套 API 配置。你可能会问爬虫和模型通道有什么关系。实际写爬虫的过程中你会频繁遇到编码乱码、反爬返回 403、CSS 选择器写不对、正则匹配不到内容这些问题。有一个稳定的模型通道在编辑器里你可以直接把报错贴进去问比翻文档快得多。TaoToken 在这里扮演的就是这个角色——一个统一的 Key 和 API 入口兼容常见的模型调用格式配置一次就能在 Vscode 里用起来。整篇的节奏是先把 Python 和 Vscode 装好再把环境变量和 pip 理顺然后装依赖库接着配 TaoToken 通道最后用一个真实的小爬虫把前面所有步骤串起来验证。每一步都有可复制的命令和配置你跟着敲就行。2. 装 Python 与 Vscode 并配好环境变量和 pip 的完整流程2.1 下载安装 Python 解释器去 Python 官网下载安装包选 3.10 以上的版本就行3.12 也稳定。下载页面直接搜「Python downloads」就能找到。安装的时候有一个关键动作安装向导第一屏底部有两个勾选框一定要把「Add python.exe to PATH」勾上。这个勾选决定了你后面要不要手动配环境变量。如果你当时没勾也别慌下面会讲手动配置的方法。安装路径建议用默认的比如C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\。如果你非要装到 D 盘记住这个路径后面配环境变量要用。安装完成后打开 cmd输入python --version如果返回Python 3.12.x说明解释器本身没问题。再输入pip --version正常会返回 pip 的版本号和它对应的 Python 路径。如果这两条命令有一条报「不是内部或外部命令」说明环境变量没配好继续往下看。2.2 手动配置环境变量右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。在「系统变量」区域找到Path双击编辑点「新建」把下面两条路径加进去把用户名和版本号换成你自己的C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\ C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\Scripts\第一条是 Python 解释器所在目录第二条是 pip 和后续安装的命令行工具所在目录。两条缺一不可很多人只加了第一条结果pip命令用不了就是因为 Scripts 目录没加。加完之后重启电脑。这一步不能省环境变量的刷新在部分系统上需要重启才生效。重启后再开 cmd重新跑python --version和pip --version两条都正常返回就说明配好了。2.3 安装 Vscode 与 Python 插件Vscode 官网下载安装一路下一步即可。装完后打开点左侧扩展图标搜索并安装这几个插件插件名作用Python提供解释器选择、调试、智能提示Pylance类型检查和代码补全Python Indent自动缩进写爬虫循环时很实用装完 Python 插件后按CtrlShiftP输入Python: Select Interpreter选择你刚装的那个 Python 版本。如果列表里没有点「Enter interpreter path」手动指向python.exe的完整路径。2.4 用 pip 安装 requests 和 bs4打开 Vscode 的集成终端Ctrl反引号确认终端里python --version能正常输出。然后执行pip install requests pip install beautifulsoup4注意包名是beautifulsoup4不是bs4。bs4是导入时的模块名安装时用beautifulsoup4。这两个装完后再装一个解析器pip install lxmllxml 解析速度快bs4 默认用 Python 内置的 html.parser但遇到复杂页面时 lxml 更稳。装完后可以用pip list查看已安装的包确认这三个都在列表里。如果 pip 下载慢可以临时指定国内镜像源pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple这一步不是必须的但如果你那边网络拉取官方源超时用镜像能省不少时间。3. 在 Vscode 里接入 TaoToken 统一 Key 通道的配置方法3.1 获取 API Key打开 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册登录后进入控制台在 API Keys 页面创建一个新的 Key。创建时给它起个名字比如vscode-crawler方便后面区分用途。复制生成的 Key它通常以sk-开头只显示一次记得存好。TaoToken 的 API 端点地址是 https://taotoken.net/api 这个地址在配置 Base URL 时要用到。它兼容 OpenAI 风格的调用格式所以大部分支持自定义 Base URL 的插件和工具都能直接对接。3.2 在 Vscode settings.json 中写入配置Vscode 的settings.json可以通过CtrlShiftP输入Preferences: Open User Settings (JSON)打开。如果你用的是 Cline、Continue 这类支持自定义模型的插件配置会写在插件自己的配置文件里。这里以通用的 settings.json 为例写入以下片段{ taotoken.baseUrl: https://taotoken.net/api, taotoken.apiKey: sk-你的实际Key, taotoken.model: claude-sonnet-4-20250514, editor.formatOnSave: true, python.analysis.typeCheckingMode: basic }这里三个字段对应三件套Base URL 填https://taotoken.net/apiAPI Key 填你刚创建的那串Model ID 填你要用的模型标识。模型标识根据你在 TaoToken 控制台里开通的模型来填常见的有claude-sonnet-4-20250514、gpt-4o等。如果你不确定该填哪个去控制台的模型列表页复制准确的 ID。注意settings.json 里如果已经有其他配置不要把整个文件替换掉把上面这几个键值对合并进去就行。JSON 格式对逗号很敏感最后一个键值对后面不能有逗号。3.3 用 Cline 插件对接的配置方式如果你用 Cline 这个插件来做模型辅助编码它的配置界面里选「OpenAI Compatible」然后填Base URLhttps://taotoken.net/apiAPI Key你的 KeyModel IDclaude-sonnet-4-20250514Cline 会把请求发到 TaoToken 的通道再由通道转发到对应模型。这样你在写爬虫时选中一段代码右键让 Cline 解释或者直接问它「这个 CSS 选择器为什么匹配不到」都能得到响应。3.4 验证通道是否打通配置写完后最直接的验证方式是在 Vscode 里新建一个test_api.py用 requests 向 TaoToken 的接口发一个请求import requests url https://taotoken.net/api/v1/chat/completions headers { Authorization: Bearer sk-你的实际Key, Content-Type: application/json } data { model: claude-sonnet-4-20250514, messages: [{role: user, content: 回复一个字通}] } resp requests.post(url, headersheaders, jsondata, timeout30) print(resp.status_code) print(resp.json())如果返回 200 并且内容里有模型回复说明 Key 和通道都正常。如果返回 401检查 Key 有没有复制完整、有没有多余空格。如果返回 404检查 Base URL 是不是写成了https://taotoken.net/api而不是带/v1的完整路径——具体路径以文档为准接入文档在 https://taotoken.net/doc 。这一步跑通后你后面写爬虫遇到问题就可以直接在编辑器里让模型帮你分析不用切来切去。4. 用 requests 和 bs4 写一个抓取静态页面的小爬虫验证环境4.1 目标页面与抓取思路我们抓一个结构简单的静态页面来练手。静态页面的意思是HTML 内容直接写在服务器返回的响应里不需要执行 JavaScript 就能拿到。这类页面用 requests 请求 bs4 解析就够了。以抓取一个公开的静态页面为例思路分三步用 requests 发 GET 请求拿到 HTML 文本用 bs4 解析成 DOM 树然后用选择器提取标题和正文内容。下面是一个完整的可运行脚本import requests from bs4 import BeautifulSoup # 目标地址替换成你想抓的静态页面 url https://example.com headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 } try: resp requests.get(url, headersheaders, timeout10) resp.encoding resp.apparent_encoding # 自动识别编码避免中文乱码 print(状态码:, resp.status_code) soup BeautifulSoup(resp.text, lxml) # 提取页面标题 title soup.title.string if soup.title else 无标题 print(页面标题:, title) # 提取所有段落文本 paragraphs soup.find_all(p) for i, p in enumerate(paragraphs[:5], 1): text p.get_text(stripTrue) if text: print(f段落{i}: {text[:80]}) except requests.exceptions.Timeout: print(请求超时检查网络或目标站点是否可达) except requests.exceptions.RequestException as e: print(请求异常:, e)这段代码里几个关键点值得说明。headers里的 User-Agent 是模拟浏览器身份很多站点对没有 UA 的请求会直接返回 403。resp.apparent_encoding让 requests 根据内容猜测编码比直接用resp.encoding更不容易出现中文乱码。BeautifulSoup(resp.text, lxml)指定用 lxml 解析器速度比默认的 html.parser 快。4.2 运行与结果解读在 Vscode 里按CtrlF5运行或者终端里执行python demo.py。正常输出类似状态码: 200 页面标题: Example Domain 段落1: This domain is for use in illustrative examples...状态码 200 表示请求成功。如果拿到 403说明目标站点拒绝了你的请求可以尝试换 User-Agent 或加Referer头。如果拿到 404检查 URL 有没有写错。如果报ModuleNotFoundError回到第 2 步确认 requests 和 bs4 装在了当前解释器对应的环境里。4.3 用模型辅助排查解析问题假设你抓的页面里标题不在title标签里而是在h1 classpost-title里你写soup.find(h1, class_post-title)却返回 None。这时候可以把 HTML 片段贴给编辑器里的模型问它「这个结构用 bs4 怎么定位」。模型通道已经配好了直接在 Cline 或对话窗口里问就行。再比如你遇到UnicodeDecodeError模型会告诉你可能是编码识别问题建议用resp.content.decode(utf-8, errorsignore)或者先resp.encoding utf-8再取resp.text。这些排查过程比死记文档高效得多。5. 环境搭建与请求过程中的常见报错排查5.1 python 不是内部或外部命令这是环境变量没配好的典型表现。先确认 Python 安装路径下有没有python.exe然后检查 Path 里有没有加那两条路径。加完后必须重启电脑只关掉 cmd 重开有时候不生效。重启后如果还不行在 cmd 里执行where python看它返回的路径是不是你装的那个。如果返回多个路径说明系统里有多个 Python需要调整 Path 里的顺序把你想要的那个放到前面。5.2 pip 安装报 SSL 证书错误执行pip install requests时报SSL: CERTIFICATE_VERIFY_FAILED通常是网络环境导致的证书验证失败。可以临时加信任参数pip install requests --trusted-host pypi.org --trusted-host files.pythonhosted.org或者换国内镜像源。如果公司网络有拦截需要联系网络管理员放行 pypi 相关域名。5.3 ModuleNotFoundError: No module named requests这个报错说明 pip 装的包和 Vscode 当前用的解释器不是同一个。按CtrlShiftP选Python: Select Interpreter确认选中的是你装包时用的那个 Python。然后在终端里执行pip -V看它输出的路径和解释器路径是否一致。如果不一致用python -m pip install requests来强制用当前解释器的 pip 安装。5.4 401 Unauthorized 与 local proxy failed调用 TaoToken 接口时返回 401检查 Authorization 头里的 Key 有没有写对Bearer 后面有没有空格Key 有没有过期。如果报local proxy failed或连接被拒绝检查 Base URL 是不是写成了https://taotoken.net/api有没有多写或少写路径段。另外确认本机没有开启会拦截请求的网络工具这类工具会导致请求发不出去。5.5 reading choices 字段报错如果你用 OpenAI 兼容格式调用返回的 JSON 里没有choices字段而是返回了error字段说明请求参数有问题。常见原因是 model ID 填错了或者 messages 格式不对。把完整的返回内容打印出来看error.message里面会写清楚是模型不存在还是参数缺失。对照 TaoToken 的接入文档 https://taotoken.net/doc 检查请求体格式。5.6 bs4 解析返回空列表soup.find_all(p)返回空列表先确认resp.text里确实有 HTML 内容。打印resp.text[:500]看看。如果内容是空的或者是一段 JavaScript说明这个页面是动态渲染的requests 拿不到真实内容需要换用其他方式。如果 HTML 有内容但选择器匹配不到用浏览器的开发者工具检查元素确认标签名和 class 名有没有写错注意 class 里的空格和大小写。6. 把这条通道用顺后续写爬虫会省很多事环境搭好之后你手里就有了两样东西一个能跑 Python 和爬虫库的 Vscode一个能随时问问题的模型通道。后面你写更复杂的爬虫时比如处理分页、解析表格、应对简单的反爬都可以先把报错或 HTML 结构丢给模型让它给你一个可运行的片段你再在本地验证。TaoToken 的 API Key 和接入文档在这里API Keys 页面 https://taotoken.net/api-keys 文档 https://taotoken.net/doc 。如果你后面要长期用模型辅助编码、跑 Agent 类的任务可以看看 Coding Plan https://taotoken.net/coding-plan 它适合高频调用的场景。想先试试模型对话效果直接打开 https://taotoken.net/models 就能用。爬虫环境这件事第一次配会觉得步骤多但配好之后就是一次性的。真正花时间的是后面写解析逻辑和应对各种页面结构。把通道接进编辑器相当于给自己配了一个随叫随到的排查助手遇到KeyError、IndexError、编码乱码这些高频问题时能少走不少弯路。