浅析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模块进行爬取百度

目录
相关文章
|
5天前
|
数据采集 数据挖掘 Python
Python:pandas做爬虫
Python:pandas做爬虫
18 0
|
3天前
|
数据采集 存储 XML
构建高效的Python爬虫系统
【9月更文挑战第30天】在数据驱动的时代,掌握如何快速高效地获取网络信息变得至关重要。本文将引导读者了解如何构建一个高效的Python爬虫系统,从基础概念出发,逐步深入到高级技巧和最佳实践。我们将探索如何使用Python的强大库如BeautifulSoup和Scrapy,以及如何应对反爬措施和提升爬取效率的策略。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在信息收集的海洋中航行得更远、更深。
15 6
|
1天前
|
数据采集 数据挖掘 数据处理
Python中实现简单爬虫并处理数据
【9月更文挑战第31天】本文将引导读者理解如何通过Python创建一个简单的网络爬虫,并展示如何处理爬取的数据。我们将讨论爬虫的基本原理、使用requests和BeautifulSoup库进行网页抓取的方法,以及如何使用pandas对数据进行清洗和分析。文章旨在为初学者提供一个易于理解的实践指南,帮助他们快速掌握网络数据抓取的基本技能。
12 3
|
5天前
|
数据采集 Python
天天基金数据的Python爬虫
天天基金数据的Python爬虫
20 3
|
8天前
|
数据采集 存储 JavaScript
构建您的第一个Python网络爬虫:抓取、解析与存储数据
【9月更文挑战第24天】在数字时代,数据是新的金矿。本文将引导您使用Python编写一个简单的网络爬虫,从互联网上自动抓取信息。我们将介绍如何使用requests库获取网页内容,BeautifulSoup进行HTML解析,以及如何将数据存储到文件或数据库中。无论您是数据分析师、研究人员还是对编程感兴趣的新手,这篇文章都将为您提供一个实用的入门指南。拿起键盘,让我们开始挖掘互联网的宝藏吧!
|
5天前
|
数据采集 JSON 数据格式
Python:南京地铁每日客流数据的爬虫实现
Python:南京地铁每日客流数据的爬虫实现
15 1
|
5天前
|
数据采集 Python
Python:某市公交线路站点的爬虫实现
Python:某市公交线路站点的爬虫实现
|
5天前
|
数据采集 网络协议 调度
Python爬虫策略分析4
Python爬虫策略分析4
18 1
|
5天前
|
数据采集 前端开发 Python
Python爬虫策略分析3
Python爬虫策略分析3
|
5天前
|
数据采集 Python
Python爬虫策略分析1
Python爬虫策略分析1
下一篇
无影云桌面