错误错误响应类型|不和谐蟒蛇机器人

时间:2021-01-18 19:11:54

标签: python discord discord.py discord.py-rewrite

你好,我正在尝试创建一个电子邮件信息命令,但 url 的输出只是页面源,有没有办法使用左右字符串并捕获字符串中的内容,就像我在响应之后放置的那样,或者只是 . json 并且我将无法使用此站点?

@client.command()
async def email(ctx, email):
    url = ('https://thatsthem.com/email/' + email)

    response = requests.get(url)
    name = response.json()['<span itemprop="name">']['</span>']

    embed = discord.Embed(title="Linked names for email " + email, color=0x00ffff)
    embed.add_field(name="Linked Name:", value=f'{name}', inline=True)

    await ctx.send(embed=embed)

我在底部有正确的令牌和导入请求等,感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

使用像 BeautifulSoup 这样的 HTML 解析库来解析 HTML 元素。此外,如果站点无法正确返回 JSON,请使用 .text 获取源。

答案 1 :(得分:0)

抓取数据时,您必须使用标题。运行 requests.get(url) 时,它返回 403,但将以下对象作为标头添加到 requests.get(url, headers=headers) 它返回数据。

headers = {
            'cache-control': 'no-cache',
            'user-agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
}

This 可以帮到你。