1.3 爬虫的请求与响应


# requests 请求和相应 通常:通过浏览器 python:脚本发送 .模拟浏览器请求环境,获取数据
# 数据类型:html xml text img music 视频
# 自动化脚本
# 爬虫:目标和分析、实施

import requests

# 1.发起请求:http协议
# GET:地址栏请求,可以携带数据(大小限制),数据显示
# POST:可以携带数据(大小无限制),数据隐式
# 两种方式传参不同
resp_get_1=requests.get(url="http://httpbin.org/get",params={"name":"xiaoming"})
resp_get_2=requests.post(url="http://httpbin.org/post",data={"name":"xiaoming"})

# 2.传RUL参数,字典存储
# GET params={}
# POST data={}

# 3.查看请求地址
url_get_1 = resp_get_1.url
print(url_get_1)
url_get_2 = resp_get_2.url
print(url_get_2)
# https://maoyan.com/?name=xiaoming ?表示携带参数name=value &间隔 name=value

# 4.查看状态码 :成功:200 ;无法加载:404/403; 服务器异常:500,505;
print(resp_get_1.status_code,resp_get_2.status_code)

# 5.编码格式,中文乱码
resp = requests.get(url="http://www.baidu.com/")
coding = resp.encoding = "utf-8"
print("编码: ", coding)

# 6.获取相应数据
text = resp.text  # 文本
print(text)
content = resp.content  # 二进制
print(content)

# 7.
#  headers
url = "http://www.qianlima.com/"
# 冒号放引号外面,它为字典结构
head = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
}
resp = requests.get(url=url,headers=head)
print(resp.status_code)

# 8.IP代理
# 9.设置超时代理
proxies={"http":"110.83.46.180","https":"110.83.46.180"}
resp = requests.get(url=url, headers=head, proxies=proxies, timeout=10)
print(resp.status_code)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章