以下是我要提取的网站的网址
当我使用以下代码获取网站并使用以下代码显示内容时:
sock = urllib.urlopen("https://salami.parc.com/spartag/GetRepository?friend=jmankoff&keywords=antibiotic&option=jmankoff's+tags")
html = sock.read()
sock.close()
soup = BeautifulSoup(html)
print soup.prettify()
我得到以下输出:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>
Error message
</title>
</head>
<body>
<h2>
Invalid input data
</h2>
</body>
</html>
我也得到了与urllib2相同的结果。现在有趣的是,此URL仅适用于Shiretoko Web浏览器v3.5.7。 (当我说它有效时,我的意思是它给我带来了正确的页面)。当我将此URL提供给Firefox 3.0.15或Konqueror v4.2.2时。我得到完全相同的错误页面(“输入数据无效”)。我不知道是什么造成了这种差异以及如何使用Python获取此页面。有什么想法吗?
由于
答案 0 :(得分:2)
如果您看到urllib2文档,则说明
urllib2.build_opener([handler, ...])¶
.....
If the Python installation has SSL support (i.e., if the ssl module can be imported), HTTPSHandler will also be added.
.....
答案 1 :(得分:0)
当您点击带有webbrowser的链接时,这正是您所获得的。也许你应该登录或设置cookie或其他东西
我在linux上获得了与firefox 3.5.8(shiretoko)相同的消息