一定是我的提问方式不对!

可能我是一个很不善于提问的人,尤其是和人类以外的物种交流,总会发生一些奇奇怪怪的对话。

关于全英羽毛球公开赛的资料,网上有很多,按爬取和解决问题的逻辑来看,搜索整合数据后再输出应该不是太难的事儿。尤其是对于百科这类网站的数据,除了个别因素,多数内容都能用来学习。

先公布正常答案:

换句话说:ChatGPT,开卷考试,告诉答案在哪一行,还为什么还回答不对问题呢?

默认给的答案是单打的?也不对啊梁海量还8次呢

设定范围后答案还不准确,那就五个项目都打上,再教一下找答案,这总行了吧?

恩??楼下智慧是谁?潘晓婷,9球天后那个潘晓婷吗???

毛晓彤????听说跳舞还不错?会打球吗?

有没有那么一种可能是英文的答案会准一些,那就试试

再核对一下正确答案,可能仅仅就是鹦鹉的水平,从第2又开始编了

这样吧,我直接告诉你到哪儿找可还行?

可我始终是没猜到结局

看来,我不但要再复习一下小学英语,简单的HTML语言也要说得严谨一点

下面这一张,可能是最离谱的答案了,里面汇聚了各行各业的知名人士。

难道,真的要告诉你:用 php 或者 python 抓取网页 'https://zh.m.wikipedia.org/wiki/全英羽毛球公开锦标赛' 中“夺冠次数较多者”后面的第一个 table 数据中前20列并输出姓名、男单、女单、男双、女双、混双和合计夺冠次数?

既然想到了,那就试试:

import requestsfrom bs4 import BeautifulSoup# 获取网页内容url = "https://en.wikipedia.org/wiki/All_England_Open_Badminton_Championships"html = requests.get(url).text# 解析HTMLsoup = BeautifulSoup(html, 'html.parser')# 找到“Multiple winners”后面的第一个tabletable = soup.find('table', {'class': 'wikitable sortable'})# 输出前20行数据print('{:<30} {:<10} {:<10} {:<10} {:<10} {:<10} {:<10}'.format('Name', 'MS', 'WS', 'MD', 'WD', 'XD', 'Total'))for row in table.find_all('tr')[1:21]:    cols = row.find_all('td')    name = cols[0].get_text().strip()    ms = cols[1].get_text().strip()    ws = cols[2].get_text().strip()    md = cols[3].get_text().strip()    wd = cols[4].get_text().strip()    xd = cols[5].get_text().strip()    total = cols[6].get_text().strip()    print('{:<30} {:<10} {:<10} {:<10} {:<10} {:<10} {:<10}'.format(name, ms, ws, md, wd, xd, total))

可是输出的结果居然是:

Name                           MS         WS         MD         WD         XD         Total     George Alan Thomas            4          1          9          0          8          21        Erland Kops                    5          0          2          0          1          8         Rudy Hartono                   8          0          0          0          0          8         Gillian Gilks                  0          1          0          4          5          10        Eddie Choong                   5          0          4          0          1          10        Morten Frost                   4          0          0          0          0          4         Lin Dan                        6          0          0          0          0          6         Peter Gade                     5          0          0          0          0          5         Nora Perry                     3          3          0          0          0          6         Yang Yang (singles)            4          0          0          0          0          4         Christian Hadinata             0          0          4          4          4          12        Rexy Mainaky                   0          0          6          1          4          11        Zhao Yunlei                    0          2          2          2          5          11        Li Lingwei                     0          4          0          0          0          4         Park Joo-bong                  0          0          8          1          1          10        Kim Dong-moon                  0          0          8          0          0          8         Gao Ling                       0          0          0

哪里出了问题?有没有人帮看下,python我不熟。结果可以说是让人很失望了。

现在我的问题是,如何提问,才能让ChatGPT生成正确答案。虽然我直接看维基百科可以得到答案,但在内心深入始终希望有一天,当人类只能通过对话提问的方式,来面对ChatGPT这样的唯一终端时,它不以欺骗我们百科全书看得少。