requests的基本使用以及爬虫的基本介绍:QQ机器人制作基础
系列文章目录
pythonQQ机器人系列:使用requests实现QQ机器人聊天(一)传送门
目录
系列文章目录
前言
一、requests是什么?
二、使用步骤
1.下载库
2.引入库
3.爬虫的基本介绍及库的使用
总结
前言
此requests基础对应pythonQQ机器人系列文章,并介绍部分爬虫知识,此文章更偏向零基础,可能会不定期更新。
一、requests是什么?
requests是python中的一个爬虫库,是一个使用非常广泛的库
二、使用步骤
1.下载库
pip install requests
2.引入库
import requests
3.爬虫的基本介绍及库的使用
第一个就是URL,url是什么,url就是我们平常说的网址就像是,这个就是个URL,也就是个链接,当然我们还是需要按下F12进入开发者工具,看看他的URL。
B站https://www.bilibili.com/?spm_id_from=333.788.b_696e7465726e6174696f6e616c486561646572.1接下来,就去看看
当然这个就是URL了,我们尽量还是以这个URL为主。
第二个就是Headers,headers是请求头的主体,爬虫中我们经常使用这个,来进行UA伪装,让服务器知道你是一个正常的用户,而非爬虫。
接下来,我们使用requests 。
import requests
url="https://www.bilibili.com/spm_id_from=333.788.b_696e7465726e6174696f6e616c486561646572.1"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46"}
res = requests.get(url=url,headers=headers).text
print(res)
我们还要注意一下,不要把空格复制上,不要把空格复制上,不要把空格复制上。
还有我们使用的请求头需要加双引号,就像上面一样。
还有最最重要的一点,headers部分不要叫过多的请求信息,会导致代码运行错误,一般请求头只需加“User-Agent”即可
我们看一下运行结果。
其实也都差不多,为了更直观更明显 ,我们去请求别的网页,这里只演示,如果是从QQ机器人系列文章过来可以自行运行go-cqhttp。如果不是,下面内容也可良好食用。
把url换成以下代码,并在网页打开这个url。
url = "http://127.0.0.1:5700/get_group_msg_history?group_id=自己的一个群的群号"
替换好后我们运行一下看下整体代码。
import requests
url = "http://127.0.0.1:5700/get_group_msg_history?group_id=自己的群号"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46"}
res = requests.get(url=url,headers=headers).json()
print(res)
我们看下运行结果与网页的显示,当然这个就是我自己的QQ机器人的测试群。
就是这样,我们拿到了网页的源码。
再讲一下,text、json的区别。
text是返回的字符串,text不能通过键值取值。
json是返回对象,json可以通过键值取值。(这个很重要,下面讲一下什么是键值取值)
看一下下面这张图片。
我们怎么样才能键值取值呢?我们往下看。
我们可以这样键值取值。
import requests
url = "http://127.0.0.1:5700/get_group_msg_history?group_id=736038975"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46"}
res = requests.get(url=url,headers=headers).json()
#print(res)
content = res["data"]["messages"]
print(content)
这串代码的下面就是键值取值,我们再看一下网页与运行结果。
我们获取的内容是一样的。
就是通过中括号来进行内容的一级一级的选取(中括号里面加引号)
我们的代码是:
content = res["data"]["messages"]
网页是:
这样我们的 content 就等于网页中的 messages 后面的所有数据。
如果我们想要的数据没有在这个json里面,就用text。
最后是requests中get和post的使用 ,get是得到,post是提交,这个记一下就好了。requests的基本用法就这么多。
总结
以上就是要讲的内容,本文仅仅简单介绍了requests的使用,QQ机器人的制作正在加速赶稿中,
QQ机器人为纯requests。
requests的基本使用以及爬虫的基本介绍:QQ机器人制作基础相关推荐
- python中requests库的用途-数据爬虫(三):python中requests库使用方法详解
有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...
- Python爬虫神器简单介绍与使用(requests、Beautiful Soup、selenium等)
目录 一.requests 1.1.介绍 1.2.requests案例 二.BeautifulSoup 2.1.介绍 2.2.安装 2.3.BeautifulSoup案例 三.selenium 3.1 ...
- python爬虫招聘-Python爬虫抓取智联招聘(基础版)
原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...
- 猫哥教你写爬虫 027--模块介绍
time模块 import time # 时间对象转美式时间字符串 print(time.asctime()) # Wed May 29 09:25:07 2019 print(time.asctim ...
- python爬取大众点评数据_python爬虫实例详细介绍之爬取大众点评的数据
python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python ...
- 小福利,如何根据爬虫获得的食物卡路里、自身基础热量和运动消耗量计算总的热量差
大家好,我是天空之城,今天给大家带来如何根据爬虫获得的食物卡路里.自身基础热量和运动消耗量计算总的热量差,这里涉及到了爬虫知识,数据的清洗和处理,以及简单的逻辑判断和计算.总的思路就是用获取的食物热量 ...
- 【0基础学爬虫】爬虫基础之爬虫的基本介绍
大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,本期为爬虫的基本介绍. 分享一些自己的爬虫项目,学习爬虫一些经验很不错 基于python实 ...
- pythonQQ机器人系列(基于go-cqhttp):使用requests和socket实现QQ机器人聊天(2-0)
系列文章目录 基础:requests的基本使用:QQ机器人基础 传送门 pythonQQ机器人系列:使用requests实现QQ机器人聊天(0-2) 传送门 pythonQQ机器人系列:使用requ ...
- 分布式网络爬虫框架Cola介绍
分布式网络爬虫框架Cola介绍 这个分布式网络爬虫框架设计思想来源于: https://github.com/chineking/cola/wiki 下面给出框架设计图: ...
- pythonQQ机器人系列:使用requests实现QQ机器人聊天(1-0)
系列文章目录 基础:requests的基本使用:QQ机器人基础 传送门 pythonQQ机器人系列:使用requests实现QQ机器人聊天(0-2) 传送门 pythonQQ机器人系列:使用requ ...
最新文章
- Ajax+Node.js前后端交互最佳入门实践(04)
- 【正睿2021寒假省选第二轮集训 day 1】令牌生成 (组合数+二分)
- kl散度的理解_以曲率的视角理解自然梯度优化
- invalid use of incomplete type struct 或者是class的解决办法
- JQuery LazyLoad实现图片延迟加载-探究
- React学习笔记六 React拓展 - SetState
- Android MVP 实例
- linux 下使用 tc 模拟网络延迟和丢包-使用 linux 模拟广域网延迟 - Emulating wide area network delays with Linux...
- 朋友圈点赞的测试用例
- git name consists only of disallowed characters
- optuna-自动化调参利器
- 《解释的工具:生活中的经济学原理》读书笔记4
- Android 顶部菜单栏 定义背景图片
- 【数据集|COCO】COCO格式数据集制作与数据集参数计算
- 为什么我发抖音没人点赞?抖音视频点赞数量怎样才能上涨?
- 如何转换DWG文件格式?来试试这两种方法
- SpringBoot 查询根据时间数据-数据库时区错误
- 图像超分——Real-ESRGAN快速上手
- 用ajax实现dropdownlist多级联动实例
- python写图片爬取软件_python制作微博图片爬取工具
热门文章
- 2022软考网工笔记(网络安全)
- 《Region Proposal by Guided Anchoring》论文笔记
- Python-伪数据构造神库Faker
- Linux中对的tac命令
- 关闭网站服务器端口,cmd关闭端口的命令是什么_网站服务器运行维护
- 安卓手机怎样安装apk应用
- 项目管理要分解目标,明确每个人的任务
- 同步和提交AOKP源码
- 自动驾驶人一定要知道的120多家公司!
- 解决create-react-app 集成ts 报error :because it would overwrite input file. TS5055 问题