0

我将 MechanicalSoup 用于自定义搜索引擎。当我尝试打开某些网站时,MechanicalSoup 会冻结,最多几个小时,并且仅在此延迟后才给出异常。有时它有效,但对于某些网站来说总是很长,例如:

import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
browser.open('https://www.amd.com')
browser.open('https://www.airfrance.fr')

我怎样才能使用机械汤而不发生这种冻结,或者我怎样才能设置一个较短的时间(例如最多 10 秒),以避免等待时间。

4

1 回答 1

1

MechanicalSoup API 是 Requests 库的薄包装器,它接受timeout相关函数调用中的参数(请参阅https://requests.readthedocs.io/en/master/user/quickstart/#timeouts)。

因此,您可以通过添加来在 MechanicalSoup 中设置 10 秒超时timeout=10,例如:

import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
browser.open('https://www.amd.com', timeout=10)
browser.open('https://www.airfrance.fr', timeout=10)
于 2020-01-23T18:04:37.263 回答