python - 爬虫请求

HTTP

HTTP: HyperText Transfer Protocol (超文本传输协议)

定义:Server 与 Client 之间用于传递数据的规范

Request 请求:

  •  Request Line 请求行
    • 请求方法 (GET,POST)
    • URL (www.baidu.com)
    • 协议版本(HTTP/1.1)
  • Request Headers 请求头
    • User-Agent (Mozilla/5.0; Macintosh; Intel Mac OS X 10_15_7) 通过什么设备访问这个
    • 网页2.Referer 防盗链(从那个网站引导过来)
    • Cookie 缓存
  • Request Data 请求数据
    • Form Data (e.g. 注册登陆)
    • JSON Data

Response 响应

  • Response Line 响应行
    • Response Code 响应码 (200 Success, 403 Fobidden, 404 Not Found)
    • 协议版本(HTTP/1.1)
  • Response Headers 响应头
    • Content-Encoding 编码
    • Content-Type 类型
    • Server 服务器信息
    • Date 日期
  • Response Data 响应数据
    • HTML, CSS, Javascript
    • JPG,PNG,MP3,MP4
      JSON,XML

requests 请求网页数据

requests官网:Requests: HTTP for Humans™ — Requests 2.31.0 documentation

 requests中文版:Python requests 模块 | 菜鸟教程

安装requests 模块

pip install requests

导入requests模块

import requests
哈哈哈,来自雷军的凝视
来自雷军的凝视,哈哈哈

使用

import requests

url='https://www.csdn.net/'
res=requests.get(url) #get方法请求这个url
print(res.text) #响应体
print(res.status_code)#响应状态
print(res.encoding)#响应编码
print(res.headers)  #响应头

#将响应体写入文件
with open('./8-16-01/index.html','w')as f:
    f.write(res.text)

#将照片写入文件
url_img='https://live-file.csdnimg.cn/release/live/file/1690879046877.png?x-oss-process=image/resize,l_800'
res_img=requests.get(url_img)
with open('./8-16-01/img.png','wb') as f:#wb 二进制数据
    f.write(res_img.content) #content 二进制数据


携带 Headers 模拟真人请求

 

 

一般也会加上Referer,表示请求当前资源的客户端来源

  • 防盗链:
    比如只允许某台服务器访问我自己的图片服务器资源,则可校验Http请求包中的Referer。判断是不是特定服务器的域名,若不是则拒接响应。
  • 防止恶意请求:
    对于某些风险较高的文件类型,可使用Referer使得该类型文件只能来自我所指定的网站。

一般在request header 获取
一般在Request Headers 获取

设置 Proxy 代理IP突破IP封锁

当向一个地址大量的、持续的进行请求,服务器大概率会认为你是爬虫ip,就会被进行ip封锁,再像这个地址发送请求就拿不到数据了

  1. 可以搜索第三方的代理ip
  2. 可以进行购买或者使用免费的
  3. 连接SDK

    就可以像url进行请求了,可能会比直接请求会慢一点,毕竟饶了一大圈
    不带proxies=proxies就是自身原本的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值