我目前正在尝试学习网络抓取并决定抓取一些不和谐的数据。代码如下:
import requests
import json
def retrieve_messages(channelid):
num=0
headers = {
'authorization': 'here we enter the authorization code'
}
r = requests.get(
f'https://discord.com/api/v9/channels/{channelid}/messages?limit=100',headers=headers
)
jsonn = json.loads(r.text)
for value in jsonn:
print(value['content'], '\n')
num=num+1
print('number of messages we collected is',num)
retrieve_messages('server id goes here')
Run Code Online (Sandbox Code Playgroud)
问题:当我尝试更改此处的限制时,messages?limit=100显然它只接受 0 到 100 之间的数字,这意味着我可以获得的最大消息数是 100。例如,我尝试将此数字更改为 900,以抓取更多消息。但后来我得到了错误TypeError: string indices must be integers。
关于如何获取频道中的所有消息有什么想法吗?
非常感谢您的阅读!