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

爬虫基础学习-POST方式、自定义User-Agent

POST方法:
添加data(可选),请求的方法就不再是get,而成了post

#加上encode(“utf-8”)->  str-》bytes
#解码 decode("utf-8")     byte-》str

#!/usr/bin/env python3import urllib.request
import urllib.parse
import urllib.error# 定义URL
url = 'http://httpbin.org/post'# 创建POST表单发送的内容
data = {'hello': 'world','handsome_man': 'wangbo'
}# data需要进行编码
data_encode = urllib.parse.urlencode(data).encode('utf-8')# response = urllib.request.urlopen(url=url, data=data_encode)
# print(response.read().decode('utf-8'))# 设置连接超时
try:response = urllib.request.urlopen(url=url, data=data_encode, timeout=0.1)print(response.read().decode('utf-8'))
except urllib.error.URLError as e:print("连接超时")

实际使用爬虫需要自定义HTTP请求头

urllib发送,get,post
自己构造请求

timeout:
用于设置超时(秒)

爬虫的核心就是模拟用户!

利用 request 模块来自行构造HTTP请求头,首先构造User-Agent请求头。

#!/usr/bin/env python3import urllib.request
import urllib.parse
import urllib.error# 定义URL
url = 'http://httpbin.org/post'# 自定义Request, 添加一个User-agent
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
}req = urllib.request.Request(url=url, headers=header, method="POST")
response = urllib.request.urlopen(req)
print(response.read().decode('utf-8'))


http://www.dtcms.com/a/343489.html

相关文章:

  • FCN网络结构讲解与Pytorch逐行讲解实现
  • 小程序个人信息安全检测技术:从监管视角看加密与传输合规
  • 限流技术:从四大限流算法到Redisson令牌桶实践
  • SpringBoot整合HikariCP数据库连接池
  • 机器学习聚类算法
  • 【机器学习】线性回归
  • 深入解析C++非类型模板参数
  • Linux入门DAY29
  • AI 产业落地:从 “实验室神话” 到 “车间烟火气” 的跨越
  • 【TrOCR】模型预训练权重各个文件解读
  • SpringAI1.0.1实战教程:避坑指南25年8月最新版
  • 近端策略优化算法PPO的核心概念和PyTorch实现详解
  • Typescript入门-函数讲解
  • 创建一个springboot starter页面
  • LG P2617 Dynamic Rankings Solution
  • 1688 商品详情接口数据全解析(1688.item_get)
  • 关于从零开始写一个TEE OS
  • 如何安装 VMware Workstation 17.5.1?超简单步骤(附安装包下载)
  • Building Systems with the ChatGPT API 使用 ChatGPT API 搭建系统(第四章学习笔记及总结)
  • 一文讲清楚:场景、痛点、需求
  • mainMem.useNamedFile = “FALSE“ 的效果
  • UE5多人MOBA+GAS 52、下载源码构建引擎
  • 如何处理项目中棘手的依赖版本冲突问题
  • 软考中级【网络工程师】第6版教材 第3章 局域网 (下)
  • 构造参数注入解决循环依赖问题
  • 射频电路的完整性简略
  • rt-thread使用sfud挂载qspi flash的trace分析
  • Linux ELF二进制文件数字签名工具:原理与设计思路(C/C++代码实现)
  • SQL聚合情景解读
  • 【笔记】Facefusion3.3.2 之 NSFW 检测屏蔽测试