Python爬虫 requests -- requests的安装和基本使用requests的get请求 / post请求requests ip代理

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫 requests -- requests的安装和基本使用requests的get请求 / post请求requests ip代理相关的知识,希望对你有一定的参考价值。

1. requests的安装

requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多。

requests官方文档

requests的安装:


2. requests的基本使用

response的属性以及类型

  • 类型 :models.Response
  • r.text : 获取网站源码
  • r.encoding :访问或定制编码方式
  • r.url :获取请求的url
  • r.content :响应的字节类型
  • r.status_code :响应的状态码
  • r.headers :响应的头信息
import requests

url = 'http://www.baidu.com'

response = requests.get(url=url)

# 一个类型和六个属性
# Response类型
print("response 类型是:", type(response))

# 设置响应的编码格式
response.encoding = 'utf-8'

# 以字符串的形式来返回了网页的源码
print("网页的源码: ", response.text)

# 返回一个url地址
print('url地址: ', response.url)

# 返回的是二进制的数据
print('二进制的数据: ', response.content)

# 返回响应的状态码
print('响应的状态码: ', response.status_code)

# 返回的是响应头
print('响应头: ', response.headers)

运行结果:


2. requests的get请求

这是我们要访问的网站:

# urllib
# (1) 一个类型以及六个方法
# (2)get请求
# (3)post请求   百度翻译
# (4)ajax的get请求
# (5)ajax的post请求
# (6)cookie登陆 微博
# (7)代理

# requests
# (1)一个类型以及六个属性
# (2)get请求
# (3)post请求
# (4)代理
# (5)cookie  验证码


import requests

url = 'https://www.baidu.com/s?'

headers = 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/92.0.4515.159 Safari/537.36'


data = 
    'wd': '北京'


# url  请求资源路径
# params 参数
# kwargs 字典
response = requests.get(url=url, params=data, headers=headers)

content = response.text

print(content)

# 总结:
# (1)参数使用params传递
# (2)参数无需urlencode编码
# (3)不需要请求对象的定制
# (4)请求资源路径中的?可以加也可以不加 https://www.baidu.com/s? 可以写为 https://www.baidu.com/s

运行结果:


3. requests的post请求

获取百度翻译:

我们先去找到百度翻译的翻译链接:找到链接为https://fanyi.baidu.com/sug,请求参数为kw = spider。

import requests

url = 'https://fanyi.baidu.com/sug'

headers = 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'


data = 
    'kw': 'spider'


# url 请求地址
# data 请求参数
# kwargs 字典
response = requests.post(url=url, data=data, headers=headers)

content = response.text

import json

obj = json.loads(content)
print(obj)

# 总结:
# (1)post请求 是不需要编解码
# (2)post请求的参数是data
# (3)不需要请求对象的定制

运行结果:


4. requests ip代理

  • 代理的常用功能?
    1. 突破自身IP访问限制,访问国外站点。
    2. 访问一些单位或团体内部资源(扩展:某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。)
    3. 提高访问速度(扩展:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲 区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。)
    4. 隐藏真实IP(扩展:上网者也可以通过这种方法隐藏自己的IP,免受攻击。)

示例代码:

import requests

url = 'https://www.baidu.com/s?'

headers = 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',


data = 
    'wd': 'ip'


proxy = 
    # 这里就是代理ip 可以去快代理里面找 待会访问url就是这个ip
    'http': '212.129.251.55:16816'


response = requests.get(url=url, params=data, headers=headers, proxies=proxy)

content = response.text

with open('daili.html', 'w', encoding='utf-8')as fp:
    fp.write(content)



以上是关于Python爬虫 requests -- requests的安装和基本使用requests的get请求 / post请求requests ip代理的主要内容,如果未能解决你的问题,请参考以下文章

Python3~爬虫工具使用requests库

爬虫小探-Python3 urllib.request获取页面数据

python3网络爬虫学习——基本库的使用

史上最全!Python爬虫requests库(附案例)

你还不会Python网络爬虫中的requests模块使用《一》

python之路 -- 爬虫二篇 -- 常用模块