Python-程序突然不工作
我的代码在没有警告的情况下停止工作。我把范围缩小到Python-程序突然不工作,python,python-requests,Python,Python Requests,我的代码在没有警告的情况下停止工作。我把范围缩小到请求。获取不再获取链接的html。相反,它会得到 我知道事实上,它曾一度奏效,但我不明白是什么改变了 t = requests.get("http://dictionary.goo.ne.jp/srch/jn/変体/m0u/") soup2 = BeautifulSoup(t.content) lookup2 = soup2.find_all("dl", {"class":"allList"})[0] link = lookup2.find_al
请求。获取不再获取链接的html。相反,它会得到
我知道事实上,它曾一度奏效,但我不明白是什么改变了
t = requests.get("http://dictionary.goo.ne.jp/srch/jn/変体/m0u/")
soup2 = BeautifulSoup(t.content)
lookup2 = soup2.find_all("dl", {"class":"allList"})[0]
link = lookup2.find_all("a")[0]
link = link.get("href")
link = "http://dictionary.goo.ne.jp/" + link
r = requests.get(link)
soup = BeautifulSoup(r.content)
lookup = soup.find_all("div", {"class":"meaning"})[0].text
print(lookup)
获取错误:
Traceback (most recent call last):
File "C:/Users/Dominic/PycharmProjects/untitled2/main.py", line 12, in <module>
lookup2 = soup2.find_all("dl", {"class":"allList"})[0]
IndexError: list index out of range
回溯(最近一次呼叫最后一次):
文件“C:/Users/Dominic/PycharmProjects/untitled2/main.py”,第12行,在
lookup2=soup2.find_all(“dl”,“class”:“allList”})[0]
索引器:列表索引超出范围
您的代码假定以下行:
t = requests.get("http://dictionary.goo.ne.jp/srch/jn/変体/m0u/")
总是给出相同的结果。而事实肯定并非如此。网站可能会因为维护而关闭,可能会暂时被淹没,在渲染网站时可能会出现错误等等
这些类型的问题通过HTTP状态代码进行通信,并且可以使用t.status\u code
检索
如果状态代码不是200,则不能再对t.contents
中的HTML进行任何假设,例如存在任何
标记
为了使代码更加健壮,您可以自己检查状态代码,或者至少在使用t.contents
之前调用t.raise\u for\u status()
有关更多信息,请参阅请求
是一个成功响应对象,即您发布的代码中r
或t
的字符串表示形式。您的代码工作正常,它会打印普通の形や体裁と違っていること。体裁を変えること。また、その形や体裁。
你确定你不是在某个地方打印t
或r
吗?对我来说很好打印“普通の形や体裁と違っていること。体裁を変えること。また、その形や体裁��"我确实需要打印(t)才能得到它,我认为这是它显示给我的错误的来源,因为它之前没有显示。我得到的错误是:回溯(最近一次调用):文件“C:/Users/Dominic/PycharmProjects/untitled2/main.py”,第12行,在lookup2=soup2.find_all(“dl”,“{”class:“allList”})[0]索引器:列出索引超出范围,所以你的汤找不到任何东西!Pycharm有一个极好的调试器。试着设置一个断点,然后一步一步地进行。