简单的爬虫学习
前言
requests.get()核心便是通过get获取网页信息 让我们进一步学习get函数
一、requests.get()返回对象属性
- statuts_code 状态码
- headers 请求头
- encoding 编码方式
- cookies cookies信息
- text 网页代码
- url 网址
- content 字节码,用来存文件(图片等)
还是以凤凰网为例:
import requests
url='https://www.ifeng.com/' # 设置目标url
res = requests.get(url=url) # 调用requests.get()函数,传入url参数,该函数返回Response对象,并赋值给 res
print(res.status_code) # 网页返回的状态码 200为成功 403为禁止访问
print(res.headers) # 访问网页的请求头,最重要的是 User-Agent
print(res.encoding) # 网页的编码方式,有时乱码需要设定
print(res.cookies) # 网页返回的cookies信息
print(res.url) # 网页的网址获取
二、requests.get()常用参数
- url 目标网址
- headers(dict) 请求头设置,最重要的User-Agent
- params 基本网址的额外信息
- proxies IP代理,当请求量大的时候使用
以知乎为例,展示headers参数:
import requests
url='https://www.zhihu.com/' # 设置目标url
res = requests.get(url=url) # 调用requests.get()函数,传入url参数,该函数返回Response对象,并赋值给 res
print(res.status_code) # 返回状态码为403,禁止访问
print(res.text) # 通过代码查看403页面
设置headers参数,User-Agent,模拟浏览器
import requests
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
url='https://www.zhihu.com/' # 设置目标url
res = requests.get(url=url,headers=headers) # 调用requests.get()函数,传入url参数,该函数返回Response对象,并赋值给 res
print(res.status_code) # 返回状态码为200,成功
以百度为例展示params参数:
'https://www.baidu.com/s?wd=python&rsv_spt=1&rsv_iqid=0x81ad48c20010cf87&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_dl=tb&rsv_enter=1&oq=python%2520%25E7%2588%25AC%25E8%2599%25ABrequests%2520content&rsv_btype=t&rsv_t=ab746Du9wKOUGvfqZMN17uMb0yn6XhOq7k0%2BqgColY%2BwyIuOfttlZpLC2BHVMeINyVpU&rsv_pq=b9a9fc4d0009700f&inputT=582&rsv_sug3=74&rsv_sug1=58&rsv_sug7=100&rsv_sug2=0&rsv_sug4=974&rsv_sug=2'
# 这是我们最常见的网址形式,可以提取基础url,再用data将存储其他数据
data={
'wb':'python', # data建由网页指定,值可以直接改写,'wb'=自己设置。
'mod':'2',
}
url='https://www.baidu.com/' # 设置目标url
res = requests.get(url=url,params=data) # 调用requests.get()函数,传入url参数,该函数返回Response对象,并赋值给 res
print(res.url) # 返回的url= https:
print(res.cookies) # 查看百度设置的cookie信息 <RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>
print(res.cookies.get('BDORZ')) # 通过字典形式获取cookie,在以后的防反爬使用
总结
以上就是今天要讲的内容,本文仅仅简单介绍了requests.get的使用,如果有什么不足之处请指出。
|