【问题标题】:How to send web scraped information to discord webhook with Python如何使用 Python 将网页抓取的信息发送到不和谐的 webhook
【发布时间】:2018-10-29 08:50:42
【问题描述】:
from bs4 import BeautifulSoup
import requests
import json

source = requests.get('http://www.jimmyjazz.com/mens/footwear/adidas-superstar/S82215?color=Brown').text

soup = BeautifulSoup(source, 'lxml')
page = soup.find('div', class_='box_wrapper')
size = page.find_all('a')

for pid in size:
    if "piunavailable" not in pid["class"]:   
        print("instock")
        print("http://www.jimmyjazz.com/mens/footwear/adidas-superstar/S82215?color=Brown")
    else:
        print("out of stock")

这就是我目前所拥有的,我尝试发送它已通过几种不同方式抓取的信息,但未能成功将其发送到我的不和谐 webhook。我希望得到任何帮助,谢谢!

【问题讨论】:

  • 您是否希望通过 Python 将信息发布到您的钩子?
  • 是的,我在那里编写的所有代码都会返回库存和缺货的鞋码,我想通过 Python 将它们发送到我的 discord webhook

标签: python-3.x python-requests discord discord.py


【解决方案1】:

您可以使用请求的 post 方法将格式化的字符串发布到您的钩子。我有使用 Discord 的经验,但之前没有设置过 Hook。如果帖子的关键字params 不起作用,请使用headers。根据您的项目定制此代码,如果您有任何问题或其他错误请求,请告诉我。

import json

from bs4 import BeautifulSoup
import requests

payload = {'username': 'myname',
           'icon_url': 'myavatar.png'}

SHOE_URI = 'http://www.jimmyjazz.com/mens/footwear/adidas-superstar/S82215?color=Brown'
DISCORD_HOOK_URI = 'https://discordapp.com/whateverapi'

source = requests.get(SHOE_URI).text

soup = BeautifulSoup(source, 'html.parser')
page = soup.find('div', class_='box_wrapper')
sizes = page.find_all('a')

avail = dict() # keeps track of the status for each size

for pid in sizes:
    if "piunavailable" in pid["class"]:   
        avail[pid.getText()] = "out of stock"
    else:
        avail[pid.getText()] = "instock"

maxlen = max(map(len, avail.keys())) # for right-justified string formatting
string = '\n'.join("{:>{}}: {}".format(size, maxlen, value) for size, value in avail.items())

myheaders['content'] = string

req = requests.post(DISCORD_HOOK_URI, params=payload)
if req.status_code != 200:
   print('post failed with error', req.status_code, 'because', req.reason)
else:
   print('post success')

【讨论】:

  • 非常感谢!我会试一试!
猜你喜欢
  • 2020-03-31
  • 2019-07-05
  • 2023-02-15
  • 2021-04-25
  • 2021-11-06
  • 2021-06-03
  • 2021-04-07
  • 2021-05-19
  • 2021-04-30
相关资源
最近更新 更多