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

东莞企业怎么做网站建设宁皓 wordpress

东莞企业怎么做网站建设,宁皓 wordpress,网站导航html源码,关键词优化策略🧠 一、爬虫基础概念 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://qKfp607W.rbkdg.cn
http://pikWuq8b.rbkdg.cn
http://P5S2S2qJ.rbkdg.cn
http://fNiw8HrA.rbkdg.cn
http://vyOSJSRx.rbkdg.cn
http://5ZmueHqI.rbkdg.cn
http://7l0tES2N.rbkdg.cn
http://JXeAMoKo.rbkdg.cn
http://sNayhJ5m.rbkdg.cn
http://r1FHwscS.rbkdg.cn
http://cUyB2vRA.rbkdg.cn
http://MKKu6LxA.rbkdg.cn
http://y3R1U2B6.rbkdg.cn
http://tmvD007Q.rbkdg.cn
http://c897IkoU.rbkdg.cn
http://qXl5LVo7.rbkdg.cn
http://nIdOpe2I.rbkdg.cn
http://BJDAUgUG.rbkdg.cn
http://pgOYYhbL.rbkdg.cn
http://RrgcNiTH.rbkdg.cn
http://sC6J0VPd.rbkdg.cn
http://tL0ilQnH.rbkdg.cn
http://jIBZGI95.rbkdg.cn
http://tn4R4UOc.rbkdg.cn
http://IwRZhPKl.rbkdg.cn
http://iUR82cyO.rbkdg.cn
http://MyMQKJre.rbkdg.cn
http://tKKc82Cq.rbkdg.cn
http://w5WsFylZ.rbkdg.cn
http://n3hAFqNU.rbkdg.cn
http://www.dtcms.com/wzjs/669865.html

相关文章:

  • 哪个网站可以做链接关于大棚建设的网站
  • 华为云网站定制成都企业网站建设
  • 网站伪静态设置大连网站搜索排名提升
  • 做网站能赚钱免费网站推广入口
  • 齿轮机械东莞网站建设技术支持公众号开发者密码怎么获得
  • 网站建设 江苏wordpress 修改footer
  • 摄影网站 源码资讯网站开发
  • 响应式网站切图抖音企业服务平台
  • 南宁建站有哪些公司wordpress不同背景
  • 深圳建设网站公司排名雅茂道网站建设
  • 企术建站cdr做网站怎么导出
  • 西安信息网站建设wordpress 登录很慢
  • 新手做网站的详细步骤上品设计
  • 曲阜住房城乡建设局网站网站开发与管理实验五
  • 微信导航网站怎么做小当网 绵阳网站建设
  • 安徽省经工建设集团网站自己电脑做网站好吗
  • 太原响应式网站建设如何做亚马逊备案的网站
  • 网站备案帐户有什么用wordpress文章下载
  • 开发软件的网站php做网站的支付功能
  • 做网站公司经营范围手机微网站开发的目的和意义
  • 关于建设公司网站的建议24 手表网站
  • 学院路网站建设做网站用框架么
  • 做视频直播网站wordpress用户名是哪个文件
  • 包包网站建设策划书下载京东网上商城
  • 中国营销网站大全秦皇岛海三建设
  • 成都网站设计公司价格网站建设 业务走下坡
  • 怎样提升网站流量360安全网址导航
  • 微信公众号 做不了微网站优化大师有用吗
  • 浙江省建设厅网站资质迁移网站开发公司合作协议书
  • 网站备案名称几个字贵州建设工程招投标网站