Python爬虫基本库request的基本使用

 更新时间:2023年07月07日 10:18:32   作者:milk-request  
这篇文章主要介绍了Python爬虫基本库request的基本使用,urllib库使用繁琐,比如处理网页验证和Cookies时,需要编写Opener和Handler来处理。为了更加方便的实现这些操作,就有了更为强大的requests库,需要的朋友可以参考下

request

用urllib去处理网页验证和Cookies时,需要写Opener和Handler来处理,很不方便,这里我们学习更为强大的库request

get()

实例:

import requests #导入requests
html = requests.get('https://www.csdn.net/')#使用get方法获取页面信息
print(html.text)#调取text属性查看页面代码

添加参数使用param+字典

import requests  # 导入requests
data = {
    'jl': '765',
    'kw': 'python',
    'kt': '3'
}
html = requests.get('https://sou.zhaopin.com/',params=data)  # 添加参数
print(html.text)  # 调取text属性查看页面代码

添加headers使用headers+字典

import requests  # 导入requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}
data = {
    'jl': '765',
    'kw': 'python',
    'kt': '3'
}
html = requests.get('https://sou.zhaopin.com/',headers=headers,params=data)  # 添加参数
print(html.text)  # 调取text属性查看页面代码

高级用法

cookies设置,代理设置等

Cookies

获取cookies:

import requests  # 导入requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}
data = {
    'jl': '765',
    'kw': 'python',
    'kt': '3'
}
html = requests.get('https://blog.csdn.net/qq_40966461/article/details/104974998',headers=headers,params=data)  # 添加参数
print(html.cookies)  # 调取text属性查看页面代码
for key,value in html.cookies.items():
    print(key+'='+value)

很简单,直接获取cookies属性即可

维持会话Session()

在requests中,如果直接利用get()或post()等方法可以做到模拟网页的请求,但是这实际上时相当于不同的会话,相当于用了两个浏览器打开了不同的页面,这时需要用session对象来维护对话

import requests  # 导入requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}
data = {
    'jl': '765',
    'kw': 'python',
    'kt': '3'
}
html = requests.Session().get('https://blog.csdn.net/qq_40966461/article/details/104974998',headers=headers,params=data)  # 添加参数
print(html.cookies)  # 调取text属性查看页面代码
for key,value in html.cookies.items():
    print(key+'='+value)

调用requests模块中get方法时先创建一个Session对象

SSL证书验证

import requests  # 导入requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}
response  = requests.get('http://www.12306.cn',headers=headers,verify = False)
print(response.status_code)

verify=False即可

代理设置

import requests  # 导入requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}
proxies = {
    "http":"http://183.166.132.176",
    "https":"https://183.166.132.176"
}
response  = requests.get('http://www.12306.cn',headers=headers,proxies=proxies,verify = False)
print(response.status_code)

添加proxies即可,代理可以搜索快代理

超时设置

加参数timeout= 1

身份认证

get中添加参数 auth=(‘username’,‘password’)

OAuth认证方式

到此这篇关于Python爬虫基本库request的基本使用的文章就介绍到这了,更多相关Python爬虫request库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python使用pywinauto驱动微信客户端实现公众号爬虫

    python使用pywinauto驱动微信客户端实现公众号爬虫

    这个项目是通过pywinauto控制windows(win10)上的微信PC客户端来实现公众号文章的抓取。代码分成server和client两部分。server接收client抓取的微信公众号文章,并且保存到数据库。另外server支持简单的搜索和导出功能。client通过pywinauto实现微信公众号文章的抓取。
    2021-05-05
  • 使用Python请求http/https时如何设置失败重试次数

    使用Python请求http/https时如何设置失败重试次数

    这篇文章主要介绍了使用Python请求http/https时如何设置失败重试次数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python实现决策树C4.5算法的示例

    Python实现决策树C4.5算法的示例

    本篇文章主要介绍了Python实现决策树C4.5算法的示例,详解的介绍了决策树C4.5算法的原理和实现代码,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • Python全面解析xml文件

    Python全面解析xml文件

    这篇文章主要介绍了Python全面解析xml文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python 类与元类的深度挖掘 II【经验】

    Python 类与元类的深度挖掘 II【经验】

    元类在 Python 中属于比较深层的黑魔法,在一般的日常应用中可能并不常用,但理解其背后的原理对于理解 Python 面向对象编程以及一切皆为对象的理念很有帮助;如果你需要对类进行深度改造,至少要知道从何入手。
    2016-05-05
  • numpy数组切片的使用

    numpy数组切片的使用

    本文主要介绍了numpy数组切片的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • numpy按列连接两个维数不同的数组方式

    numpy按列连接两个维数不同的数组方式

    今天小编就为大家分享一篇numpy按列连接两个维数不同的数组方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python输入、数据类型转换及运算符方式

    python输入、数据类型转换及运算符方式

    这篇文章主要介绍了python输入、数据类型转换及运算符方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python中图片文件路径格式如何使用

    python中图片文件路径格式如何使用

    这篇文章主要介绍了python中图片文件路径格式如何使用问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 一文详解如何使用Python实时输出鼠标坐标

    一文详解如何使用Python实时输出鼠标坐标

    本文详细介绍了如何使用Python中的pynput库来实时获取并输出鼠标的坐标信息,通过pynput库,可以轻松实现对鼠标坐标的跟踪,适用于需要鼠标交互的应用场景,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10

最新评论