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

python康复日记-request库的使用,爬虫自动化测试

一,request的简单应用

#1请求地址
URL='https://example.com/login'
#2参数表单
form_data = {
    'username': 'admin',
    'password': 'secret'
}
#3返回的响应对象response
response = requests.post(
    URL,data=form_data,timeout=5
)
#4处理返回结果,这里直接打印返回网页的正文。通常需要json转化,和encode编码下
print(reponse.content)

1,请求头需要设置,有些网站会限制访问

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
        'Referer': 'https://www.99csw.com/',
        'Accept-Language': 'zh-CN,zh;q=0.9'
    }

    try:
        # 发送HTTP请求
        response = requests.get(url, headers=headers, timeout=15)

2,response的属性

发送request请求后,返回的reponse对象里有我们要的信息,需要处理。常用的3个标粗了。

属性/方法类型/返回类型说明
status_codeintHTTP 状态码(如 200、404、500)
headersCaseInsensitiveDict响应头字典(不区分大小写)
textstr解码后的文本内容(自动根据 encoding 解码)
contentbytes原始字节内容(未解码的二进制数据)
json()dict/list解析 JSON 响应内容(非 JSON 内容会抛异常)
urlstr最终请求的 URL(含重定向后的地址)
encodingstr响应内容的编码格式(可手动修改)
apparent_encodingstr通过内容分析出的编码格式(自动检测)
rawHTTPResponse原始响应流对象(需配合 stream=True 使用)
cookiesRequestsCookieJar服务器返回的 Cookies
elapseddatetime.timedelta请求耗时(从发送到响应完成的时间)
historylist[Response]重定向历史记录列表
reasonstr状态码的文本描述(如 200 → "OK",404 → "Not Found")
requestPreparedRequest关联的请求对象(含请求头、方法、URL 等信息)

rep = reponse.content.decode('utf8'),content获取的正文是二进制,注意编码。

正文处理通常需要 json格式化 和 re正则模块 的匹配。

#对返回content正文中,span标签的获取,标题内容获取
pattern1 = re.compile(r'<span class="title">([^&]*?)</span>')
titles = pattern1.findall(resp.text)

3,session会话保持


http://www.kler.cn/a/600542.html

相关文章:

  • ToolsSet之:快捷键和速查表
  • VS Code连接远程服务遇到的问题
  • 蓝之洋科技以AI智能制造引领变革,推动移动电源产业迈向高端智能化!
  • 三分钟读懂微服务
  • 蓝桥杯-符号变反操作(差分)
  • Weblogic
  • shopify跨境电商行业前景与规模
  • 【Linux-驱动开发-pinctrl子系统】
  • SpringBoot-配置文件中敏感信息的加密保姆级教程
  • 高度电路中时序设计之二
  • (C语言)习题练习 (sizeof和strlen)
  • UE5摄像机震屏/晃动效果
  • 视频孪生技术赋能智慧交管建设:迈向实时实景的交通管理新时代
  • 参考apollo3 FLASH样例改写实际应用的接口函数(带磨损均衡处理)
  • OpenHarmony 入门——ArkUI 跨页面数据同步和应用全局单例的UI状态存储AppStorage 小结(三)
  • 如何使用QuickAPI生成带参数的数据API(基于原生SQL)
  • Docker多阶段构建:告别臃肿镜像的终极方案
  • AI Agent开发与应用
  • 可变形交互注意力模块(DIA-Module)及代码详解
  • 【C++】回调函数和回调对象