系列文章目录
pythonQQ机器人系列:使用requests实现QQ机器人聊天(一)传送门
目录
前言
此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。