一、理清步骤1、获取网页内容比如向浏览器询问请求浏览器返回经过渲染处理的问题答案美化页面使用户清晰明了而程序向网页发送请求得来的是较为原始的不经加工的纯数据比较原生裸露庞大碎片复杂学习HTTP请求、python requests、HTML网页解读HTTP请求GET请求获取数据爬虫常用、POST请求提交数据【请求行】 GET /index.html HTTP/1.1 【请求头】 Host: www.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0) Accept: text/html Cookie: session_idabc123 【请求体】 (GET 通常为空POST 放提交的数据)hostwww.example.com 我要访问的网址User-Agent 用户的个人信息Accept 用户要获取的信息爬虫就是模拟人为浏览网站获取信息HTTP响应【状态行】 HTTP/1.1 200 OK 【响应头】 Content-Type: text/html; charsetutf-8 Content-Length: 1234 Set-Cookie: session_idabc123; Path/ Server: nginx/1.18.0 Date: Wed, 25 Jun 2026 07:11:00 GMT 【空行】 【响应体】 !DOCTYPE html html headtitle百度一下/title/head body.../body /html状态行HTTP/1.1 200 OK ↑ ↑ ↑ 协议版本 状态码 状态描述状态码状态码含义通俗解释你的应对200OK 一切正常你要的数据在包里直接拆包取数据301Moved Permanently 搬家了去新地址requests自动跳转302Found 临时去别的地方同上注意新 URL400Bad Request❌ 你的请求格式错了检查参数、URL401Unauthorized 没登录不许看加 Cookie/Token403Forbidden 认出你是爬虫拒绝换 Headers、代理、降速404Not Found 页面不存在检查 URL 拼写500Internal Server Error 服务器自己崩了等会儿再试502Bad Gateway 网关挂了服务器问题换时间503Service Unavailable 服务器太忙/维护Retry-After 头里有等待时间响应头告知客户端的一些信息响应体服务器想给客户端的一些内容python requests命令行A、终端下载requests库 pip install requestsB、代码段import requestsheaders{“User-Agent”任意网站的粘贴过来}右键检查网络User-AgentC、responserequests.get网址headersheadersD、printresponse.text/status_codestatus_code查看状态码出现200则可以text在终端返回HTMP网页源码2、解析网页内容对返回的庞大数据进行提取得到你想要的数据如想比较商品价格只需提取价格数据而剔除评价、商家、品牌学习HTML网络结构、beautifulsoup库HTLM网页解读HTML 标签文章中的对应作用html整篇文章告诉浏览器这是一篇网页head文章封面信息标题、作者、日期浏览器需要知道但读者不直接看到body文章正文读者在页面上看到的内容h1大标题最重要的标题p段落正文内容a引用/链接点击跳转到别处img插图显示图片div章节/区块把内容分组table表格行列数据!DOCTYPE html !-- 声明这是 HTML5 文档 -- html langzh-CN !-- 整篇网页的开始语言是中文 -- head !-- 头部浏览器看的元信息 -- meta charsetUTF-8 !-- 编码防止中文乱码 -- title我的网页标题/title !-- 浏览器标签页上显示的名字 -- style !-- 内部 CSS美化样式 -- body { font-family: Microsoft YaHei; } /style /head body !-- 身体用户看到的所有内容 -- h1这是一个大标题/h1 p这是一个段落。/p /body /html !-- 网页结束 --beautiful soup库终端安装bs4库pip install bs4引入from bs4 import BeautifulSoup访问请求import requestscontentrequests.get网站.textsoupBeautifulSoupcontent“html.parser”指定html解析器all_titlessoup.findAll(要查找的东西h/table)for title in all_titles:all_linkstitle.findAll(‘什么元素’)for link in all_links:print(link.string)查找元素所属右键检查根据爬虫任务的不同具体去分析提取内容的一致性来修改代码3、存储或分析数据