首页 > 其他分享 >requests 反爬

requests 反爬

时间:2023-05-19 14:16:14浏览次数:68  
标签:url 反爬 resp session https requests com

概述

本章内容

  1. 模拟浏览器登录 -> 处理cookie
  2. 防盗链处理 -> 抓取梨视频数据
  3. 代理 -> 防止被封ip
  4. 接入第三方代理

登录 -> 得到cookie

带着cookie 去请求到需要的url

# 必须把上面的两个操作连起来
# 我们可以使用session进行请求 -> session可以认为是一连串的请求,中间cookie不会丢失

import requests

# 会话
session = requests.session()
data = {
    "login":""
    "psd":""
}

# 1. 登录
url = ""
resp = session.post(url, data=data)
print(resp.text)

# 2. 拿书架上的数据
resp = session.get("")
print(resp.json())

防盗链

"""
1. 拿到contID
2. 拿到url返回的json
3. srcUrl里面的内容修整
4. 下载视频
"""

import requests

# 页面url
url = "https://www.pearvideo.com/video_1061649"
contId = url.split("_")[1]

url = "https://www.pearvideo.com/videoStatus.jsp?contId=1061649&mrd=0.34107718392722197"

headers = {
    # Referer 防盗链:溯源,当前本次请求的上一级是谁
    "Referer": "https://www.pearvideo.com/video_1061649"
}

resp = requests.get(url, headers=headers)
dic = resp.json()
srcUrl = dic["videoInfo"]["videos"]["srcUrl"]
systemTime = dic["systemTime"]

srcUrl = srcUrl.replace(systemTime, f"cont-{contId}")

# download video
with open("梨视频.mp4", mode="wb") as f:
    f.write(requests.get(srcUrl).content)

代理

import requests

url = "https://www.baidu.com"

# 准备代理信息
proxy = {
    # 快代理 https://www.kuaidaili.com/free/intr/
    "http": "121.8.215.106:9797",
    "https": "121.8.215.106:9797"
}

# proxies 代理
resp = requests.get(url, proxies=proxy)
resp.encoding = "utf-8"
print(resp.text)

第三方代理接入

# kuaidaili.com/free

标签:url,反爬,resp,session,https,requests,com
From: https://www.cnblogs.com/sroot/p/17414889.html

相关文章

  • Python爬虫学习之Requests库
    Requests请求库Requests是⽤Python语⾔编写,基于urllib,采⽤Apache2Licensed开源协议的HTTP库。它⽐urllib更加⽅便,可以节约我们⼤量的⼯作,完全满⾜HTTP测试需求。⼀句话——Python实现的简单易⽤的HTTP库1.了解requests库requests库的介绍requests是一个优雅而简单的Py......
  • Requests
    1、Requests模块说明Requests是使用 Apache2Licensed 许可证的HTTP库。用Python编写,真正的为人类着想。Python标准库中的 urllib2 模块提供了你所需要的大多数HTTP功能,但是它的API太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种......
  • 基于”python+requests模块“接口自动化的基本方法使用
    1,接口自动化测试1.1概念接口测试:是对系统或者组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。接口自动化测试:让程序代替人为对接口项目进行自动验证测试的过程1.2实现方式1,工具(jmeter,postman)2,代码(python-requests)1.3测试工具缺点......
  • REQUESTS 报的基本用法
    importrequestsurl='https://www.baidu.com/'res=requests.get(url)res.encoding='utf-8'#指定编码格式,默认为'utf-8' print(res)print(res.content)#b'二进制的文本流print(res.content.decode('utf-8'))#这是获取到的文本流的编码格式......
  • python requests模块
    requests是Python中用于发送HTTP请求的常用第三方库,可以方便地实现多种请求方式(如GET、POST、PUT、DELETE等),以及文件上传、Cookies管理等功能。以下是requests模块的使用方法和注意事项:安装requests:使用pip命令安装requests库,命令为"pipinstallrequests"。......
  • requests标头在json序列化时报错TypeError: Object of type CaseInsensitiveDict is n
    requests的作者似乎为了解决header里大小写兼容的问题,而创建了大小写不敏感的数据结构CaseInsensitiveDict,具体分析可以参见:详解Requests中的数据结构CaseInsensitiveDict。requests返回的response_header即是一个CaseInsensitiveDict类型,而且我们知道response_header里通常并非......
  • 记一次爬取组装音乐的过程(使用 requests, eyed3)
    好久没写爬虫,试着将音乐通过直链爬下来,然后在本地组装成完整的音乐。也可以作为主要用到的三个库requests、pandas、eyed3的一次实践。本文的headers将会被省略importtimeimportrequestsimportosimporteyed3importpandasaspdfromcollectionsimportdefault......
  • 小D-新版接口自动化教程- http 请求 Requests 实战
     #-*-coding:UTF-8-*-importrequestsresponse=requests.get("https://www.baidu.com")print(response.text)......
  • requests基本介绍
    1.requests的基本使用:  2.实例:请求丁香园疫情首页: ......
  • 3-selenium反爬了,网页打开一直提示失败
    添加如下代码fromselenium.webdriverimportChromeOptionsoption=ChromeOptions()option.add_experimental_option('excludeSwitches',['enable-automation'])option.add_argument("disable-blink-features=AutomationControlled")driver=we......