浅析python爬虫(下)

简介: 今天学习的是requests这个http模块,Python 内置了 requests 模块,该模块主要用来发 送 HTTP 请求,requests 模块比urlib模块更简洁。

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:

想系统/深入学习某技术知识点…

一个人摸索学习很难坚持,想组团高效学习…

想写博客但无从下手,急需写作干货注入能量…

热爱写作,愿意让自己成为更好的人…


今天学习的是requests这个http模块,Python 内置了 requests 模块,该模块主要用来发 送 HTTP 请求,requests 模块比urlib模块更简洁。


安装模块

首先进入终端,输入 pip install requests ,进行模块的安装,如果显示错误信息,在排除输入错误的情况下,进行安装pip,按常理来讲,目前python较新的大部分版本都是自带pip,但也不排除某些牛马情况(悲)




模块常见属性及用法

发送get请求,参数:url,headers,params,proxies,timeout,verify等,返回一个response对象。 requests.get() #发送post请求,参数:url,headers,data,proxies,timeout,verify等,返回一个response对象。

requests.post() #将字典对象转换成cookiejar对象 requests.utils.cookiejar_from_dict({'name': 'value'}) #将cookiejar对象转成字典对象 requests.dict_from_cookiejar(response.cookies) #返回response对象响应体的文本内容。 response.text #返回response对象响应体的二进制数据。 response.content #设置response对象响应体的编码格式,作用于requests.text response.encoding='utf8' #将返回的json数据直接转成dict response.json() #返回响应对象中的所有cookie对象 response.cookies #返回一个requests对象,使用该对象可以对请求进行状态保持。 req = requests.session()

requests.get(‘https://github.com/timeline.json’)       # GET请求

requests.post(“http://httpbin.org/post”)           # POST请求

requests.put(“http://httpbin.org/put”)            # PUT请求

requests.delete(“http://httpbin.org/delete”)         # DELETE请求

requests.head(“http://httpbin.org/get”)           # HEAD请求

requests.options(“http://httpbin.org/get” )         # OPTIONS请求


响应的内容

响应内容 意义

r.encoding 获取当前的编码

r.encoding = ‘utf-8’ 设置编码

r.text 以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。

r.content 以字节形式(二进制)返回。字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。

r.headers 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None

r.status_code 响应状态码

r.ok 查看r.ok的布尔值便可以知道是否登陆成功

r.json() Requests中内置的JSON解码器,以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常

r.raise_for_status() 失败请求(非200响应)抛出异常

r.requests.headers 返回发送到服务器的头信息

r.cookies 返回cookie

r.history 返回重定向信息,当然可以在请求是加上allow_redirects = false 阻止重定向

简单代码实现

1c1d30065373417e8f525f90aa60aa3e.png


此处是通过urlib实现爬取百度



cd3363290172494cb389734ee73077ba.png

此处是使用requests模块进行爬取百度

目录
相关文章
|
3月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
4月前
|
数据采集 Web App开发 自然语言处理
新闻热点一目了然:Python爬虫数据可视化
新闻热点一目了然:Python爬虫数据可视化
|
5月前
|
数据采集 数据挖掘 测试技术
Go与Python爬虫实战对比:从开发效率到性能瓶颈的深度解析
本文对比了Python与Go在爬虫开发中的特点。Python凭借Scrapy等框架在开发效率和易用性上占优,适合快速开发与中小型项目;而Go凭借高并发和高性能优势,适用于大规模、长期运行的爬虫服务。文章通过代码示例和性能测试,分析了两者在并发能力、错误处理、部署维护等方面的差异,并探讨了未来融合发展的趋势。
455 0
|
3月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
4月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
822 19
|
3月前
|
数据采集 存储 JSON
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
|
3月前
|
数据采集 存储 JavaScript
解析Python爬虫中的Cookies和Session管理
Cookies与Session是Python爬虫中实现状态保持的核心。Cookies由服务器发送、客户端存储,用于标识用户;Session则通过唯一ID在服务端记录会话信息。二者协同实现登录模拟与数据持久化。
|
4月前
|
数据采集 存储 Web App开发
处理Cookie和Session:让Python爬虫保持连贯的"身份"
处理Cookie和Session:让Python爬虫保持连贯的"身份"
|
5月前
|
数据采集 存储 JSON
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
|
4月前
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略

推荐镜像

更多