Python爬虫-Requests库

1.安装:

在你的终端中运行这个简单命令即可:

pip install requests

2.常用代码:

import requests
r = requests.get(url, params=None, **kwargs)

##############################################
# ∙ url : 拟获取页面的url链接
# ∙ params : url中的额外参数,字典或字节流格式,作为参数增加到url中
# ∙ **kwargs: 12个控制访问的参数:
# data
# json
# headers
# cookies
# auth
# files
# timeout
# proxies
# allow_redirects
# stream
# verify
# cert
##############################################
1. params参数用法实例:
import requests
base_url = 'https://www.guokr.com/apis/minisite/article.json?'
data = { 'retrieve_type': "by_subject",
        'limit': "20",
        'offset': "38"
       }
r = requests.get(base_url, params=data)
r.url
# 'https://www.guokr.com/apis/minisite/article.json?retrieve_type=by_subject&limit=20&offset=38'
2. 利用cookies模拟登陆:
import requests

headers = {'Cookie':  # 你的登录过后的浏览器cookies
           'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
           AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
           }
url = '  '   # 添加拟爬取地址
r = requests.get(url, headers=headers).text
print(r)
3. 图片下载:
import requests
r = requests.get('https://www.baidu.com/img/bd_logo1.png', headers=headers)
# 这个是直接获取字节码,这个是要保存的文件
print(r.content)
# 这个是获取解码后的返回内容,这个是乱码
print(r.text)
with open('download.png', 'wb') as f: # 注意写的方式是以二进制方式写入
   f.write(r.content)

Response对象的属性:

r.status_code  #HTTP请求的返回状态,200表示连接成功,404表示失败
r.text #文本
r.encoding   #编码,从HTTP header中猜测的响应内容编码方式
r.apparent_encoding   # 从内容中分析出的响应内容编码方式(备选编码方式)
r.content #二进制内容

【 Requests标准模板 】

import requests
url="******"
try:
    r=requests.get(url)
    r.raise_for_status()  #如果不是200,产生异常requests.HTTPError
    r.encoding=r.apparent_encoding
    print(r.text)
except:
    print("爬取失败")

r.raise_for_status() 在方法内部判断 r.status_code 是否等于200,不需要增加额外的if语句,该语句便于利用try‐except进行异常处理。

Requests官方文档(中文版)

猜你喜欢

转载自blog.csdn.net/maverick_7/article/details/80033559