当前位置: 首页 > news >正文

python网络爬虫学习

一、理清步骤

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_id=abc123 【请求体】 (GET 通常为空,POST 放提交的数据)

host:www.example.com 我要访问的网址

User-Agent 用户的个人信息

Accept 用户要获取的信息

(爬虫就是模拟人为浏览网站获取信息)

HTTP响应:

【状态行】 HTTP/1.1 200 OK 【响应头】 Content-Type: text/html; charset=utf-8 Content-Length: 1234 Set-Cookie: session_id=abc123; Path=/ Server: nginx/1.18.0 Date: Wed, 25 Jun 2026 07:11:00 GMT 【空行】 【响应体】 <!DOCTYPE html> <html> <head><title>百度一下</title></head> <body>...</body> </html>

状态行:

HTTP/1.1 200 OK ↑ ↑ ↑ 协议版本 状态码 状态描述

状态码:

状态码含义通俗解释你的应对
200OK😊 一切正常,你要的数据在包里直接拆包取数据
301Moved Permanently🏠 搬家了,去新地址requests自动跳转
302Found🏠 临时去别的地方同上,注意新 URL
400Bad Request❌ 你的请求格式错了检查参数、URL
401Unauthorized🔒 没登录,不许看加 Cookie/Token
403Forbidden🚫 认出你是爬虫,拒绝换 Headers、代理、降速
404Not Found🔍 页面不存在检查 URL 拼写
500Internal Server Error💥 服务器自己崩了等会儿再试
502Bad Gateway🚪 网关挂了服务器问题,换时间
503Service Unavailable😴 服务器太忙/维护Retry-After 头里有等待时间

响应头:告知客户端的一些信息

响应体:服务器想给客户端的一些内容

python requests命令行:A、终端下载requests库 pip install requests

B、代码段:import requests>>headers={“User-Agent”:任意网站的粘贴过来}(右键,检查,网络,User-Agent)

C、response=requests.get(网址,headers=headers)

D、print(response.text/status_code)status_code查看状态码,出现200则可以text在终端返回HTMP网页源码

2、解析网页内容(对返回的庞大数据进行提取,得到你想要的数据:如想比较商品价格只需提取价格数据,而剔除评价、商家、品牌)

学习:HTML网络结构、beautifulsoup库

HTLM网页解读

HTML 标签文章中的对应作用
<html>整篇文章告诉浏览器"这是一篇网页"
<head>文章封面信息(标题、作者、日期)浏览器需要知道,但读者不直接看到
<body>文章正文读者在页面上看到的内容
<h1>大标题最重要的标题
<p>段落正文内容
<a>引用/链接点击跳转到别处
<img>插图显示图片
<div>章节/区块把内容分组
<table>表格行列数据
<!DOCTYPE html> <!-- 声明:这是 HTML5 文档 --> <html lang="zh-CN"> <!-- 整篇网页的开始,语言是中文 --> <head> <!-- 头部:浏览器看的"元信息" --> <meta charset="UTF-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 requests

content=requests.get(网站).text

soup=BeautifulSoup(content,“html.parser”)指定html解析器

all_titles=soup.findAll("要查找的东西h/table")

for title in all_titles:

all_links=title.findAll(‘什么元素’)

for link in all_links:

print(link.string)

查找元素所属,右键检查,根据爬虫任务的不同具体去分析提取内容的一致性来修改代码

3、存储或分析数据

http://www.jsqmd.com/news/1080057/

相关文章:

  • 低代码与原生开发博弈,2026 小程序开发行业技术趋势报告
  • Window 安装 MySQL流程(可视化工具)
  • 终极NVIDIA Profile Inspector使用指南:解锁显卡隐藏性能的免费神器
  • DVWA文件包含漏洞实战:从原理到高级利用与防御
  • 你的ERP/MES成本数据为什么不准?问题可能出在BOM的数据治理上
  • okbiye AI 数据分析:零基础一键生成论文数据报告,甩掉 SPSS 繁琐操作
  • 安卓APK反编译与防护实战:从JADX原理到多层次安全加固
  • 第8篇:初遇Power Query——一键清洗大区报表
  • 终极指南:如何使用unp4k工具解密和提取Star Citizen游戏资源
  • 高考热门专业十年大洗牌:你爸妈推荐的那些,大学自己都不开了
  • 灵晟登顶-OpenAI自研芯片-高通入场-AI算力三线突围
  • 4个月小白也能拿下大模型Offer?收藏这份2026校招必看指南!
  • 深度解析PX4神经网络控制:如何让无人机像老司机一样智能飞行
  • 兰亭妙微原创作品 | 智能制造驾驶舱UI设计
  • 银行项目网上支付接口调用测试实例
  • 深度解析猫抓浏览器扩展:从M3U8嗅探到资源捕获的完整技术架构
  • 【IDEA中文版零基础安装】:20年IDE生态老兵亲测——仅需8分钟,手把手带出可直接编码的中文开发环境
  • 仓库又乱账又错?聪明老板只用这“三步”,轻松搞定进销存出入库!
  • 企业私有化部署音视频系统EasyDSS融媒体平台全场景一体化平台一套系统打通直播+会议+点播+对讲
  • 从理论物理视角构建凯瑟琳轮模型:几何、拓扑与数值模拟
  • 硅基内容总装线:2026 年抖音电商与 TikTok 视频 AI 工具选型
  • Go语言的context.WithTimeout中的同步时钟
  • Altium Designer 原理图背景颜色如何更换为护眼颜色?
  • 深度评测 | 从剂型创新到材料突破:2026年肛肠外科护理产品的技术迭代与选购逻辑
  • Kinetis Expert Pins工具全平台安装与配置实战指南
  • 低成本 高精度:MEMS 惯卫组合导航赋能测绘侦察载荷
  • Ventoy终极指南:一键创建万能启动U盘,彻底告别重复格式化烦恼
  • 如何快速解密和提取Star Citizen游戏资源:unp4k完整使用指南
  • DeepAgents 之interrupt_on人工审批
  • 纯RGB视觉基于神经网络的点云重建SLAM3R(对白墙等弱纹理环境友好)