python网络爬虫 Requests库入门

一,Request库简介

1, 安装

pip install requests

r.status_code返回状态码,为200时说明访问状态正确

>>> import requests
>>> r  = requests.get("https://www.baidu.com/")
>>> r.status_code
200
>>> r.encoding = 'utf-8' #转换为utf-8编码
>>> type(r)
<class 'requests.models.Response'>

2,Requests库7个主要方法

HTTP协议和requests库的这7个方法功能一致
在这里插入图片描述

(1)request.get()函数:
在这里插入图片描述
参数说明:
在这里插入图片描述
response对象属性:
在这里插入图片描述
编码:
在这里插入图片描述
(2)requests.head():

>>> import requests
>>> r  = requests.get("https://www.baidu.com/")
>>> r.status_code
200
>>> r.headers
{
    
    'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 
'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 
'Date': 'Wed, 20 Jan 2021 12:31:06 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:24:45 
GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-
age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}
>>> r  = requests.head("https://www.baidu.com/")
>>> r.status_code
200
>>> r.headers
{
    
    'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 
'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 
'Date': 'Wed, 20 Jan 2021 12:32:10 GMT', 'Last-Modified': 'Mon, 13 Jun 2016 02:50:35 
GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18'}
>>> 

(3) requests.post()函数:
在这里插入图片描述
在这里插入图片描述
(3) requests.put()函数:
在这里插入图片描述
(4) request()方法中传入请求参数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 模拟浏览器:
    在这里插入图片描述
  • 隐藏爬虫的源ip地址:
    在这里插入图片描述
    其实最常用的是get()和head()方法,head方法一般在爬取页面内容太多是使用。
    其他的因为涉及到对服务器数据进行修改会受限制。

二, 通用框架

网络访问并非每次都能成功,如果请求url出现异常需要给出提示,requests库异常类型:
在这里插入图片描述
常用的访问框架为:

import requests

def getHTMLText(url):
    try:
        r = requests.get(url,timeout=30)
        r.raise_for_status()#如果状态码不为200,引发HTTPError异常
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return "产生异常"
if __name__=="__main__":
    url="https://www.baidu.com"
    print(getHTMLText(url))

运行输出:

============================ RESTART: D:/爬虫/基本框架.py ============================
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type 
content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta 
content=always name=referrer><link rel=stylesheet type=text/css 
href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css>
<title>百度一下,你就知道</title></head> <body link=#0000cc> ...</body> </html>

三, Robots协议

网络爬虫可爬取的内容会有约束,可能面临法律、隐私等风险。
Robots协议:robots exclusion standard:
在这里插入图片描述
京东案例:
在这里插入图片描述
基本建议:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44080131/article/details/112907813