资讯详情

Python爬虫脚本VSCode环境搭建+写一个真正提取数据的爬虫实例操作

📅 2026/9/12 21:09:25 | 华诺云谱 👁 阅读
Python爬虫脚本VSCode环境搭建+写一个真正提取数据的爬虫实例操作
目录一、VSCode环境搭建1.判断有没有安装python解释器安装 Python 解释器1判断有没有安装python解释器2安装 Python 解释器2.在 VS Code 里装 Python 扩展3.选择 Python 解释器4.验证 VS Code 能否运行 Python5.出现问题解决方法Q1终端输入 python --version 没有任何输出----- Python 没有安装或者虽然安装了但没有添加到系统环境变量PATH二、写第一个爬虫1.安装必备的库2.status_code 常见 HTTP 状态码3.代码最简单可运行的爬虫4.出现问题解决方法三、真正提取数据的爬虫实例操作豆瓣电影 Top2501.环境准备在终端确保已安装 requests 和 BeautifulSoup2.完整代码3.出现问题解决方法4.提问问题Q1import requestsfrom bs4 import BeautifulSoup为什么 import BeautifulSoup需要前面有from bs4 而且我下载的是py -m pip install beautifulsoup4为什么使用时写的是BeautifulSoupQ2怎么在浏览器里看到网页的 HTML 结构Q3python的注释是用#吗就像C语言用的是//或者/**/一、VSCode环境搭建1.判断有没有安装python解释器安装 Python 解释器1判断有没有安装python解释器打开任意终端可以是系统自带的 cmd/PowerShell也可以是 VS Code 内置终端输入python --version或者简写python -V如果安装了 Python你会看到类似这样的输出Python 3.12.4如果没安装系统会提示类似python 不是内部或外部命令也不是可运行的程序Windows2安装 Python 解释器打开 https://python.org 点击首页的 Download Python 按钮下载最新版。Windows 安装时务必勾选 Add Python to PATH添加到环境变量否则后面在 VS Code 终端里输python会找不到命令。安装完后打开 VS Code 的终端菜单终端 → 新建终端输入python --version能看到版本号就说明装好了。2.在 VS Code 里装 Python 扩展点击 VS Code 左侧活动栏的扩展图标四个方块搜索 Python找到 Microsoft 发布的官方 Python 扩展点击 Install3.选择 Python 解释器按 CtrlShiftP打开命令面板输入 Python: Select Interpreter 并回车从列表里选择你刚才安装的那个 Python 版本选完后VS Code 底部状态栏会显示当前的 Python 版本。4.验证 VS Code 能否运行 Python做完上述任一步骤后在 VS Code 里新建一个文件 test.py写入print(Hello, VS Code Python!)然后在 VS Code 中按 CtrlF5运行而不调试或点击右上角的三角形 ▶ 按钮运行。如果能在终端输出 Hello, VS Code Python!就说明环境配好了。5.出现问题解决方法Q1终端输入 python --version 没有任何输出-----Python没有安装或者虽然安装了但没有添加到系统环境变量PATH用 py 代替 python仅限 Windows在终端输入py –version如果有输出说明 Python 已安装只是 python 命令没注册到 PATH。解决方案1.方法一修复环境变量1找到 Python 的实际安装路径。在终端输入where py会返回类似 C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps\py.exe 或 C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\python.exe 的路径。记下这个路径不含 py.exe 部分比如 C:\Users\你的用户名\AppData\Local\Programs\Python\Python312。把这个路径加到系统环境变量 PATH 中右键“此电脑” → 属性 → 高级系统设置 → 环境变量在“系统变量”中找到 Path双击编辑点击“新建”粘贴上面记下的路径例如 C:\Users\你的用户名\AppData\Local\Programs\Python\Python312再新建一条粘贴 C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\Scriptsscripts 目录用于 pip全部确定关闭窗口2重新打开一个终端必须重新打开输入 python --version应该就能正常显示了。2.方法二以后都用 py 代替 python​在终端里运行脚本时用 py first_spider.py 代替 python first_spider.py。在 VS Code 里选择解释器时也可以手动指定 py 的路径二、写第一个爬虫在 VS Code 里新建一个文件保存为 first_spider.py。1.安装必备的库在终端里执行pip install requests2.status_code 常见 HTTP 状态码200 成功403 被拒绝没权限404 页面不存在500 服务器内部错误3.代码最简单可运行的爬虫#导入 requests 库这个库专门用来发送 HTTP 请求比如访问网页、获取数据 import requests # 目标网址这里用 httpbin 测试服务稳定不失效 url http://httpbin.org/get # 发送 GET 请求 #用 requests 库的 get 方法向 url 发送一个 GET 请求就像在浏览器地址栏输入网址后按回车。 #服务器收到请求后会返回响应数据这些数据被保存在变量 response 中。response 是一个对象包含了状态码、响应头、响应体等信息 response requests.get(url) # 检查请求是否成功状态码 200 表示成功 print(状态码:, response.status_code) # 输出返回的文本内容截取前 500 字符 print(response.text[:500])在终端里运行python first_spider.py4.出现问题解决方法报错ModuleNotFoundError: No module named urllib3报错原因requests 库的依赖 urllib3 缺失解决方法在 VS Code 的终端中依次执行以下两条命令py -m pip uninstall requests -y py -m pip install requests三、真正提取数据的爬虫实例操作豆瓣电影 Top2501.环境准备在终端确保已安装 requests 和 BeautifulSouppy -m pip install beautifulsoup4#Python 中用来解析 HTML/XML 文档的库2.完整代码#requests负责上网把网页内容取回来 #BeautifulSoup负责拆包裹从取回来的 HTML 里找出你要的数据 import requests from bs4 import BeautifulSoup #这就是你要爬的网页地址和你在浏览器地址栏输入的地址一模一样 url https://movie.douban.com/top250 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 } response requests.get(url, headersheaders) #告诉 Python 用 UTF-8 编码来解读中文 response.encoding utf-8 if response.status_code ! 200: print(请求失败状态码:, response.status_code) exit() # response.text就是服务器返回的完整 HTML 源码从 HTML 里提取出来的文本 #html.parserPython 自带的 HTML 解析器负责把HTML 字符串理解成树形结构 soup BeautifulSoup(response.text, html.parser) items soup.select(div.item) print( 豆瓣电影 Top250第一页\n) # items 是刚才找到的 25 个 div.item 的列表 #enumerate(items, 1)一边遍历列表一边自动编号从 1 开始 for idx, item in enumerate(items, 1): title_tag item.select_one(span.title) # .strip()去掉首尾的空格和换行 #if title_tag else 未知如果没找到这个标签就用未知代替防止程序崩溃 title title_tag.text.strip() if title_tag else 未知 rating_tag item.select_one(span.rating_num) rating rating_tag.text.strip() if rating_tag else 未知 # f... 是 Python 的 f-string 格式化字符串 #{idx} 会被替换成序号 1、2、3…… #{title} 被替换成电影名 #{rating} 被替换成评分 print(f{idx}. {title} ⭐ {rating})代码关键概念总结概念解释requests.get()向网址发送请求拿到网页内容response.text网页的完整 HTML 源码字符串BeautifulSoup()把 HTML 字符串解析成可搜索的对象soup.select(div.item)用 CSS 选择器找所有匹配的标签返回列表item.select_one(span.title)在当前标签内找第一个匹配的标签.text取出标签里的纯文本.strip()去掉文本首尾的空格和换行enumerate()遍历列表时自动生成序号运行结果3.出现问题解决方法出现问题使用soup.find_all(li, class_item)终端只输出 豆瓣电影 Top250第一页原来出现问题的现在修改后的完整代码原因soup.find_all(li, class_item)soup.select(div.item)豆瓣的 classitem 在 div 上不在 li 上用 find_all用 selectCSS 选择器select 更直观类似前端写法容错性更好div 和 li 的区别都是 HTML 的容器标签但语义和用途不同divli全称​Division区块List Item列表项用途​通用的容器用来把页面分成不同的区块专门用在列表里ul 或 ol 内部表示列表中的一项使用场景​任何地方都可以放必须放在 ul无序列表或 ol有序列表里面打个比方​像搬家时的纸箱什么都能装像超市购物清单上的一行必须在清单里才有意义4.提问问题Q1import requestsfrom bs4 import BeautifulSoup为什么 import BeautifulSoup需要前面有from bs4 而且我下载的是py -m pip install beautifulsoup4为什么使用时写的是BeautifulSoup你做的事情对应的名字pip install beautifulsoup4项目发布名在 PyPI 网站上的名字import bs4包目录名你硬盘上实际存在的文件夹名BeautifulSoup类名包里提供的具体工具使用Python 交互模式验证在 VS Code 的终端里输入 py 进入 Python 交互模式然后试试 import bs4 print(bs4.__file__) C:\Users\xxx\xxx\xxx\xxx\Python\Python312\Lib\site-packages\bs4\__init__.py #路径里有 bs4 文件夹 from bs4 import BeautifulSoup print(BeautifulSoup) class bs4.BeautifulSoup # 它是一个类位于 bs4 包里面Q2怎么在浏览器里看到网页的 HTML 结构打开豆瓣 Top250 页面​在浏览器中访问 https://movie.douban.com/top250按 F12 打开开发者工具开发者工具会自动弹出选择允许你会看到类似这样的界面左侧是网页右侧或下方是 Elements元素面板显示的就是 HTML 结构【tips可以直接ctrlf搜索对应电影的部分代码】Q3python的注释是用#吗就像C语言用的是//或者/**/语言单行注释多行注释Python​# 注释内容多个 # 或三引号 ...
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。