(爬虫预热)01 Requests模块
admin
2023-07-12 19:24:42
0

一、Requests模块的作用。

Requests 的左右就是充当http的客户端,向服务端发送http请求,然后获得对应的响应头和响应体。

二、包含的请求方式。

#请求方式:
#requests.post()
#requests.get()
#requests.delete()
#requests.head()
#requests.options()

三、基本用法。

 response = requests.get("https://www.baidu.com") #向指定url发送get请求。

(response.text) #从服务端返回的response中获取html文档信息。
(response.status_code) #从服务端返回的response中获取本次响应的状态码。
(response.cookies) #从服务端获得本次响应的cookies。


(1)基本get请求。

#带参数的get请求,有两种传递参数的方式。
第一种方法:
import requests

response = requests.get(" #在本次的GET请求中一共传了两个参数,分别是name = hamasaki age = 40 .
print(response.text)


第二种方法:
另外一种传参方式,就是通过生成dict,这种传参的方式比较常用:
import requests

data = {"name":"hamasaki","age":40}

response = requests.get("http://httpbin.org/get",params=data)
print(response.text)



(2)通过Requests 获取二进制的数据。

import requests

response = requests.get("https://githup.com/favicon.ico")
("favicon.ico","wb") as f:
    f.write(response.content)


(3)添加headers。

 import requests

headers = {
    'Content-Type':'application/json;charset=utf-8',
    ''Host':'www.baidu.com'}

response = requests.get(url="www.baidu.com",headers=headers)
print(response.text)


(4)基本post请求。

import requests


headers = {

    'Content-Type': 'application/json;charset=utf-8',

    'accept': '*/*',

    'accept-encoding':'gzip, deflate, br',

    'accept-language':'zh-CN,zh;q=0.9',

    'access-control-request-headers':'content-type',

    #'access-control-request-method:':'POST',

    'origin': 'https://www.nike.com',

    'referer':'https://www.nike.com/cn/zh_cn/e/nike-plus-membership',

    'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36',

}

post_data = {

    "client_id":"HlHa2Cje3ctlaOqnxvgZXNaAs7T9nAuH",

    "grant_type":"password",

    "password":"Suhaozhi123",

    "username":"+861394227097",

    "ux_id":"com.nike.commerce.nikedotcom.web"

}

response = requests.post(url="https://unite.nike.com/login)

print(response2.status_code)



(5)post请求上传文件。

import requests

files = {'file':open('ayumi.jpg','rb')}
response = requests.post("http://httpbin.org/post",files=files)


(6)使用代理。


import requests

proxy_dict = {         #普通http,https代理。
    "http":"http://127.0.0.1:9743",
    "https":"https://127.0.0.1:9743"
}

response = requests.get("https://www.baidu.com",proxies=proxy_dict)
print(response.status_code)

#入需输入用户名密码的代理

import requests

proxy_dict = {
    "http":"http://user:password@127.0.0.1:9743",
    "https":"https://user:password@127.0.0.1:9743"
}

response = requests.get("https://www.baidu.com",proxies=proxy_dict)
print(response.status_code)


#socks代理

pip install 'requests[socks]'



import requests

proxy_dict = {
    "http":"socks5://127.0.0.1:9743",
    "https":"socks5://127.0.0.1:9743"
}

response = requests.get("https://www.baidu.com",proxies=proxy_dict)
print(response.status_code)





四、Respouse相关用法。

response.status_code  #获取状态码。

response.headers #获取响应头。

response.cookies #获取cookies对象。

response.url #获取请求时的url。

response.history #获取历史记录。

(1)获取cookie

import requests

response = requests.get("https://www.baidu.com")
for k,v in response.cookies.items():
    print(k+"="+v)


五、异常处理相关:

import requests
from requests.exceptions import ReadTimeout,ConnectionError,RequestException
try:
    response = requests.get("http://httpbin.org/get",timeour=0.5)
    print(response.status_code)
except ReadTimeout:
    print("Timeout")
except ConnectionError:
    print("connection error")
except RequestException:
    print("error")




相关内容

热门资讯

问题居然在实体卡槽上!美版iP... 6月2日消息,日前,又有博主提前把还没发布的iPhone 18 Pro电池参数给曝光了出来,根据爆料...
2026年618手机购机攻略:... 每年618都是手机换新的最佳窗口期,2026年大促叠加数码国补、平台满减、品牌降价三重福利,新机老机...
8.99万打穿底价!史无前例的... 科技的浪漫,不是将人类送入遥不可及的星辰,而是把曾经高不可攀的科幻,变成柴米油盐里的“论斤卖”。 如...
苹果首款折叠屏iPhone U... PChome 6月2日消息,据知名数码博主@i冰宇宙最新曝光的机模谍照,苹果首款折叠屏手机(内部命名...
特朗普:美伊暂停谈判?假新闻! 当地时间6月2日,美国总统特朗普否认伊朗已停止与调解方沟通,称美国与伊朗之间的对话一直在持续进行。特...
白宫记协晚宴改期至7月,特朗普... 当地时间6月2日,美国总统特朗普表示,此前因突发暴力事件而中断的白宫记协晚宴已确定改期至7月24日举...
特朗普,开掉“不听话的情报头子... 苦撑15个月后,美国国家情报总监加巴德即将离开白宫。她对辞职的解释是:丈夫近期确诊罕见骨癌,自己希望...
面粉染头模仿黄仁勋,农村青年走... “先赔偿5000元肖像侵权使用费,再删除所有视频,要么就起诉你。”这是黄仁勋的模仿者杨洋最近频繁收到...
驻马店非遗“大集”开张 把网络... 顶端新闻记者 王丹/文 李思翰 胡楚昊/图红纸剪出“抵制网络谣言”,糖画写下“不信谣不传谣”……5月...
A股三大指数集体收涨 贵金属涨...   A股三大指数集体收涨 贵金属涨幅居前  【A股三大指数集体收涨 贵金属涨幅居前】6月2日,A股三...