我正在尝试在我的aws实例上运行一个简单的脚本。同样的脚本在windows7和ubuntu(python27)上运行良好。但当我在服务器上运行脚本时,网站会将我重定向到一个错误页面,上面写着“必须在浏览器上启用js”。你知道吗
到目前为止,我尝试了很多方法(用户代理、重定向处理程序、mechanize ext)。我得到这些重定向只与下面的域。所有其他支持js的网站都运行良好。你知道吗
你知道吗?你知道吗
import urllib2
req = urllib2.Request("http://www.sahibinden.com/ilan/emlak-konut-satilik-karatepe-emlak-tan-zumrutevler-de-2-plus1-ara-kat-luks-daire-186413632/detay")
response = urllib2.urlopen(req)
the_page = response.read()
print the_page
编辑:原来是网页阻塞了我的服务器ip。谢谢你的帮助
你的代码没有错误。你知道吗
你需要一个js解释器。你知道吗
urllib2只获取原始数据,不解释页面中的js代码。你知道吗
您可以检查:How to interpret JavaScript with Python
此外,它还可以与以下代码配合使用:
它返回大量html代码,如下所示:
您可以使用
geturl()
方法来确定您的url是否被重定向(因为网站可能会根据服务器的ip等生成您收到的消息)。 如果它真的被重定向了,你可以阻止它或者做一些其他的事情。见How do I prevent Python's urllib(2) from following a redirect相关问题 更多 >
编程相关推荐