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

河南省建设教育培训中心网站在wordpress上添加播放视频教程

河南省建设教育培训中心网站,在wordpress上添加播放视频教程,沈阳网红,wordpress free 2017🧠 一、爬虫基础概念 1.1 爬虫定义 爬虫(Web Crawler)是模拟浏览器行为,自动向服务器发送请求并获取响应数据的一种程序。主要用于从网页中提取结构化数据,供后续分析、展示或存储使用。 1.2 爬虫特点 数据碎片化&…

🧠 一、爬虫基础概念

1.1 爬虫定义

  • 爬虫(Web Crawler)是模拟浏览器行为,自动向服务器发送请求并获取响应数据的一种程序。
  • 主要用于从网页中提取结构化数据,供后续分析、展示或存储使用。

1.2 爬虫特点

  • 数据碎片化:网页数据分散、不规则。
  • 模拟用户行为:爬虫需要尽可能模拟正常用户的请求行为,以绕过反爬机制。
  • 目标明确:聚焦爬虫有明确的目标网站与数据需求。

1.3 爬虫分类

类型描述
通用爬虫面向大量网站抓取数据,如搜索引擎使用的爬虫
聚焦爬虫有特定目标网站的数据采集任务

聚焦爬虫细分:

  • 功能性爬虫:不直接获取数据,而是实现某些功能(如投票、抢票、短信轰炸等)
  • 数据增量爬虫:持续获取新数据用于分析,常见于新闻资讯、价格监控等领域

1.4 爬虫流程

确认目标URL -> 发送请求 -> 获取响应 -> 提取数据 -> 处理/保存数据↖_____________可能继续解析新的URL__________________↙

1.5 Robots协议

  • 是一个约定俗成的协议文件(robots.txt),用于告知爬虫哪些页面可以访问,哪些不能。
  • 并非强制性标准,但应尊重该协议以避免法律风险。

1.6 爬虫的作用

  • 数据采集(电商价格、天气预报、股票行情等)
  • 软件测试(自动化测试接口)
  • 抢票、刷票、短信轰炸(需谨慎使用)
  • 网络安全(漏洞扫描、安全检测)

🔌 二、网络通信原理

2.1 基本流程

  1. 浏览器输入 URL(如 www.baidu.com
  2. DNS 解析域名,返回 IP 地址
  3. 客户端(浏览器)通过 TCP/IP 协议连接服务器
  4. 发送 HTTP 请求
  5. 服务器处理请求并返回响应
  6. 客户端接收响应并渲染页面(HTML/CSS/JS)

2.2 URL 统一资源定位符

  • 示例:https://www.baidu.com/s?wd=搜索词
  • 结构:
    • 协议(http/https)
    • 域名(主机名)
    • 端口(默认80或443)
    • 路径(路径+查询参数)

2.3 请求方法(HTTP Methods)

方法描述
GET请求获取资源,参数在URL中
POST提交数据给服务器,参数在请求体中
PUT更新资源
DELETE删除资源

2.4 请求组成

  • 请求行(Method + Path + HTTP Version)
  • 请求头(Headers)
  • 请求体(Body,仅POST/PUT等有)

2.5 响应状态码

状态码描述备注
200请求成功表示服务器已成功处理了请求,并返回请求的数据。
302临时重定向服务器要求客户端执行临时重定向(原始为GET请求),新的URL位于响应头中的 Location 字段。
303查看其他位置对于 POST 请求的响应,浏览器会自动重定向至新的 URL,该新地址位于 Location 中。
307临时重定向 (GET)类似于 302,但明确指示 GET 请求应保持原样,不改变为 POST 或其他方法。
403禁止访问服务器理解请求,但拒绝执行它。可能是由于权限不足或被封禁 IP。
404找不到页面服务器找不到与请求 URI 相匹配的任何资源。
500内部服务器错误服务器遇到意外情况,无法完成请求。
503服务不可用通常是因为服务器正在进行维护或过载。可能会在响应中携带 Retry-After 头来提示客户端何时可以再次尝试连接。

📡 三、HTTP & HTTPS 协议详解

3.1 HTTP 协议

  • 超文本传输协议,默认端口:80
  • 明文传输,易被监听或篡改

3.2 HTTPS 协议

  • HTTP + SSL/TLS 加密层,默认端口:443
  • 更安全,防止中间人攻击
  • 性能略低于 HTTP

3.3 SSL/TLS 的作用

  • 数据加密:保证传输过程中的隐私
  • 身份验证:确保客户端连接的是正确的服务器

🕵️‍♂️ 四、浏览器开发者工具(F12)

4.1 使用 F12 查看请求信息

  • 打开“开发者工具” → Network(网络)面板
  • 可查看:
    • 请求 URL
    • 请求方法(GET/POST)
    • 请求头(Headers)
    • 请求体(Body)
    • 响应数据(Response)
    • 响应状态码(Status Code)

4.2 注意事项

  • 实际响应数据才是判断依据,不要依赖 Elements 中的 HTML 渲染结果。
  • 有些数据由 JavaScript 动态加载,需查看 XHR/Fetch 请求。

📦 五、Requests 模块详解

5.1 requests 模块介绍

  • Python 第三方库,用于发送 HTTP 请求
  • 支持 GET、POST、PUT、DELETE 等多种方法
  • 安装命令:
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

5.2 常用方法

import requestsurl = "https://www.baidu.com"
response = requests.get(url)print(response.status_code)     # 响应状态码
print(response.text)            # 响应文本(str类型)
print(response.content)         # 响应字节流(bytes类型)
print(response.headers)         # 响应头
print(response.url)             # 最终请求的URL(可能重定向)

5.3 response.text vs response.content

属性类型特点
.textstr自动解码(可能乱码)
.contentbytes原始字节流,适合下载图片、视频等二进制数据

5.4 设置编码格式

response.encoding = 'utf-8'  # 手动指定解码方式

5.5 下载图片示例

url = "https://example.com/image.jpg"
res = requests.get(url)
with open("image.jpg", "wb") as f:f.write(res.content)

🧪 六、User-Agent 和 Headers 设置

6.1 User-Agent 概述

  • 标识客户端身份(浏览器型号、操作系统等)
  • 服务器会根据 UA 判断是否为合法浏览器
  • 如果 UA 不合法,可能被识别为爬虫,返回 403 或 503 错误

6.2 构建请求头

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..."
}
response = requests.get(url, headers=headers)

6.3 构建 User-Agent 池

  • 防止频繁使用单一 UA 被封禁
  • 示例:
user_agents = ["Mozilla/5.0 (Windows NT 10.0; Win64; x64)...","Mozilla/5.0 (iPad; CPU OS 16_6 like Mac OS X)...",...
]
import random
headers = {"User-Agent": random.choice(user_agents)}

6.4 使用 fake_useragent 库

pip install fake_useragent -i https://pypi.tuna.tsinghua.edu.cn/simple
from fake_useragent import UserAgent
ua = UserAgent()
headers = {"User-Agent": ua.random}

🌐 七、带参数请求(GET)

7.1 参数传递方式

  • URL 编码参数(GET 请求)
  • 表单数据(POST 请求)
元素说明
键(Key)参数名称,如 qform
值(Value)对应的参数值,如 学习QBLH
分隔符使用 = 连接键与值,多个参数之间使用 & 分隔

7.2 URL 参数传参

params = {"q": "学习"}
response = requests.get("https://cn.bing.com/search", params=params)

7.3 urllib.parse 模块

  • 用于手动进行 URL 编码/解码
from urllib.parse import quote, unquoteprint(quote("学习"))        # 输出:%E5%AD%A6%E4%B9%A0
print(unquote("%E5%AD%A6%E4%B9%A0"))  # 输出:学习

🛡️ 八、反爬机制与应对策略

8.1 常见反爬手段

类型描述
IP 封锁识别频繁访问的IP地址
UA 识别检查 User-Agent 是否异常
Cookie 限制登录后才可访问
JS 渲染限制数据由 JavaScript 异步加载
CAPTCHA 验证图形验证码拦截爬虫
请求频率控制单位时间内请求数量限制

8.2 反反爬策略

方法描述
使用代理IP池避免固定IP被封锁
随机 User-Agent模拟不同浏览器
添加 Referer模拟从其他页面跳转而来
设置延迟控制请求频率(time.sleep())
使用 Selenium模拟浏览器操作动态网页
使用 Headless 浏览器如 Puppeteer、Playwright

📌 九、实战案例:构建简单搜索引擎爬虫

import requests
from fake_useragent import UserAgent
from urllib.parse import quoteua = UserAgent()
headers = {"User-Agent": ua.random}keyword = input("请输入你要搜索的内容:")
encoded_kw = quote(keyword)
url = "https://cn.bing.com/search"
params = {"q": encoded_kw}response = requests.get(url, headers=headers, params=params)
print(response.text)

✅ 十、注意事项与最佳实践

  1. 遵守 robots.txt:避免非法抓取敏感数据。
  2. 设置请求间隔:使用 time.sleep() 防止频繁请求。
  3. 使用代理 IP 池:提高稳定性与隐蔽性。
  4. 记录日志:便于调试与追踪问题。
  5. 异常处理:添加 try-except 捕获网络异常。
  6. 合理设置超时时间requests.get(timeout=5)
  7. 定期更新 User-Agent 池
  8. 关注网站结构变化:防止因页面结构调整导致解析失败
http://www.dtcms.com/wzjs/838073.html

相关文章:

  • 站长之家站长工具重庆动画网站建设
  • 南宁企业网站排名优化网站建设企业需要符合哪些建
  • 郑州官网网站推广优化网站seo内容优化
  • 如何做网站用户活跃度番禺网络公司
  • 淄博住房和城乡建设厅网站宝山网站建设服务
  • 如何更换网站新域名17173游戏排行榜
  • 做网站用什么软件最好网站建设APP的软件
  • 网站建设周期杭州网站建设哪家最好
  • 西安演出公司网站建设wordpress博客栏目设计
  • 微信网站图片链接怎么做南京网站优化技术
  • 增城建设局网站单片机开发板
  • 徐州网站制作企业国家企业信息系统公示系统下载
  • 天河网站建设价格建设银行 u盾不弹出网站
  • 安康做网站电话百度引流推广怎么做
  • 永久域名免费注册网站免费网站建设专业服务平台
  • 平原网站建设价格佛山做企业网站公司
  • 扫描做电子版网站扁平化网站格局
  • 东莞浩智建设网站哪家比较好做网站用什么空间好
  • 关于建设校园网站申请报告装饰公司网页设计
  • 上海设计网站方法知末设计网官网
  • 泽成杭州seo网站推广排名临夏州建设局网站
  • 90设计网官网登录做网站让用seo刷新是哪个键
  • 广州私人做网站佛山设计公司
  • 创建个人网站的步骤海城建设网站
  • 网站页头页尾怎么做浏览器缓冲设置网站备案信息如何注销
  • 个人网站做企业备案网站抬头怎么做
  • 电商网站怎么做与众不同tomcat做网站属于什么
  • 图片网站怎样选择虚拟主机做汽车团购的网站有哪些
  • 大连宏帝建设网站自助建设彩票网站
  • 模板网站有哪几类制度建设对网站管理的重要性