我正在尝试使用httplib(或urllib2,对我来说都很好)进入web。
我只想访问它以解析HTML并寻找内容。但是,无论我如何尝试实现,都将导致服务器错误。
例如:
import httplib
conn = httplib.HTTPSConnection("mangapanda.onl")
conn.request("GET", "/")
response = conn.getresponse()
print response.status, response.reason
结尾为:
500内部服务器错误
并且:
import urllib2
redirect_handler= urllib2.HTTPRedirectHandler()
opener = urllib2.build_opener(redirect_handler)
r = opener.open('https://www.mangapanda.onl/')
print r.status, r.reason
使用以下命令在open函数中引发异常:
urllib2.HTTPError:HTTP错误403:禁止
我已经尝试在每个库中使用多个URL,从URL中删除了结尾的“ /”,依此类推,但是我还无法实现。
此外,我真正想要的是了解为什么会这样。我考虑过的唯一原因是,网络应该对某种可能无法使用库的请求使用某种重定向,但是在最后一个代码段之后,我又认为它应该遵循该重定向。
这是URL语法问题吗?我应该怎么写?为什么?我该如何解决?
答案 0 :(得分:1)
这可能是由于服务器不知道请求来自何处。也, 一些网站不允许将其视为漫游器活动的请求。为了解决该问题,您可以为请求提供虚假信息。签出urllib2 request library。还有here's如何输入“伪数据”或标题。