我正在使用网站为机器人做爱情计算器模块。这是我的语法:
url = "https://www.lovecalculator.com/love.php?name1={}&name2={}".format(name1, name2)
async with aiohttp.get(url) as response:
soupObject = BeautifulSoup(await response.text(), "html.parser")
try:
description = soupObject.soup.find_all('div').find(class_='result score').get_text()
except:
description = 'Dr. Love is busy right now.'
如何从网站上正确获取结果?我目前的语法无法做到这一点,我总是得到#Dr;博士。爱现在很忙。'信息。 这是页面来源: http://prntscr.com/e4bnhg
答案 0 :(得分:0)
我认为您可能会遇到一些语法错误。
soupObject
没有soup
属性find_all
返回ResultSet
,应在find
尝试将soupObject.soup.find_all('div').find(class_='result score').get_text()
更改为soupObject.find_all('div')[0].find(class_='result score').get_text()
。
这是我的代码,就像魅力一样:
import urllib2
from bs4 import BeautifulSoup
name1, name2 = 'Alice', 'Bob'
url = 'https://www.lovecalculator.com/love.php?name1={}&name2={}'.format(name1, name2)
soup = BeautifulSoup(urllib2.urlopen(url).read(), 'html.parser')
love = soup.find('div', attrs={'class': 'result score'}).get_text().strip()
print(love)
结果是54%