MechanicalSoup StatefulBrowser:无法打开 URL
MechanicalSoup StatefulBrowser: Unable to Open URL
我有一个 Python 脚本使用 MechanicalSoup StatefulBrowser 来打开 URL 曾经工作。但是最近打开一个特定的网站它停止工作了,我没有更改任何代码。
我试过打开其他网站,没问题。这是具体打不开的网址:http://a810-bisweb.nyc.gov/bisweb/ComplaintsByAddressServlet?allbin=4606689
import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
# open url test
url = "http://www.cnn.com"
print("opening website: {}".format(url))
browser.open(url)
print("done website: {}".format(url))
url = "http://a810-bisweb.nyc.gov/bisweb/ComplaintsByAddressServlet?allbin=4606689"
print("opening website: {}".format(url))
browser.open(url)
print("done website: {}".format(url))
以下是我从 www.cnn.com 得到的输出,它按预期打开了。但是第二个 link 只是挂起。
有什么帮助吗?或者,如果有人知道联系 MechanicalSoup 开发人员的方法,请告诉我。
输出:
opening website: http://www.cnn.com
done website: http://www.cnn.com
opening website: http://a810-bisweb.nyc.gov/bisweb/ComplaintsByAddressServlet?allbin=4606689
... hangs ...
谢谢。
如果有错误,许多门户网站会阻止连接 header "User-Agent" 通知服务器使用什么 Web 浏览器进行连接。
Python 的工具(如 requests
)经常在 User-Agent
中使用单词 Python
,因此服务器可以识别它不是真正的网络浏览器并阻止连接。
如果我使用文本 "Mozilla/5.0"
作为 User-Agent
那么我可以再次连接
browser = mechanicalsoup.StatefulBrowser()
browser.set_user_agent('Mozilla/5.0')
文本 "Mozilla/5.0"
不是阅读网络浏览器使用的全文,因此您可以找到更好的文本。或者它应该是 python 的模块,带有来自不同网络浏览器的 User-Agent,这样您就可以在不同的日子使用不同的值。
我有一个 Python 脚本使用 MechanicalSoup StatefulBrowser 来打开 URL 曾经工作。但是最近打开一个特定的网站它停止工作了,我没有更改任何代码。
我试过打开其他网站,没问题。这是具体打不开的网址:http://a810-bisweb.nyc.gov/bisweb/ComplaintsByAddressServlet?allbin=4606689
import mechanicalsoup
browser = mechanicalsoup.StatefulBrowser()
# open url test
url = "http://www.cnn.com"
print("opening website: {}".format(url))
browser.open(url)
print("done website: {}".format(url))
url = "http://a810-bisweb.nyc.gov/bisweb/ComplaintsByAddressServlet?allbin=4606689"
print("opening website: {}".format(url))
browser.open(url)
print("done website: {}".format(url))
以下是我从 www.cnn.com 得到的输出,它按预期打开了。但是第二个 link 只是挂起。
有什么帮助吗?或者,如果有人知道联系 MechanicalSoup 开发人员的方法,请告诉我。
输出:
opening website: http://www.cnn.com
done website: http://www.cnn.com
opening website: http://a810-bisweb.nyc.gov/bisweb/ComplaintsByAddressServlet?allbin=4606689
... hangs ...
谢谢。
如果有错误,许多门户网站会阻止连接 header "User-Agent" 通知服务器使用什么 Web 浏览器进行连接。
Python 的工具(如 requests
)经常在 User-Agent
中使用单词 Python
,因此服务器可以识别它不是真正的网络浏览器并阻止连接。
如果我使用文本 "Mozilla/5.0"
作为 User-Agent
那么我可以再次连接
browser = mechanicalsoup.StatefulBrowser()
browser.set_user_agent('Mozilla/5.0')
文本 "Mozilla/5.0"
不是阅读网络浏览器使用的全文,因此您可以找到更好的文本。或者它应该是 python 的模块,带有来自不同网络浏览器的 User-Agent,这样您就可以在不同的日子使用不同的值。