Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python脚本中的网络不可用_Python_Url_Ip_Urllib2 - Fatal编程技术网

python脚本中的网络不可用

python脚本中的网络不可用,python,url,ip,urllib2,Python,Url,Ip,Urllib2,我试图从python访问wikipedia页面 a = urllib2.urlopen("http://en.wikipedia.org/wiki/LALR_parser") 这导致了一个错误 <urlopen error [Errno 101] Network is unreachable> 我还是犯了同样的错误 现在我无法在chrome或firefox中查看wikipedia。它说“chrome找不到页面” 但是,如果我在匿名代理中键入wikipedia url,页面将毫无问

我试图从python访问wikipedia页面

a = urllib2.urlopen("http://en.wikipedia.org/wiki/LALR_parser")
这导致了一个错误

<urlopen error [Errno 101] Network is unreachable>
我还是犯了同样的错误

现在我无法在chrome或firefox中查看wikipedia。它说“chrome找不到页面”

但是,如果我在匿名代理中键入wikipedia url,页面将毫无问题地显示出来

你认为问题出在哪里?我的IP被阻止了吗?我检查了防火墙(在ubuntu lucid中)

我也试过了

sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

有人能帮忙吗?

可能是维基百科阻止了吗? 运行提供的代码会引发异常:

urllib2.HTTPError:HTTP错误403:禁止

Wikipedia可能正在阻止(简单的)编程访问,以促使人们使用他们的API


有关此问题的详细讨论,请参阅。

是否使用代理?如果使用代理,请尝试向代码中添加以下行:

import urllib2
proxy = urllib2.ProxyHandler({'http': 'user:password@your_proxy_server:proxy_port'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
urllib2.urlopen('http://www.python.org/')

由于您的标题不正确,请使用此选项进行尝试:

import  urllib2
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1'}
req = urllib2.Request("http://en.wikipedia.org/wiki/LALR_parser", headers=headers)
a = urllib2.urlopen(req)
print a.read()

祝你好运

看起来你失去了互联网。ping google.com产生了什么?我不会那样刮维基百科的。只需使用他们的API:@pydesigner,ping显示网络正常
bom04s01-in-f6.1e100.net(173.194.36.6)中的64字节:icmp_seq=1 ttl=57 time=116 ms bom04s01-in-f6.1e100.net(173.194.36.6)中的64字节:icmp_seq=2 ttl=57 time=149 ms.
我强烈建议使用他们的API,而不是刮取。如果我不得不猜测的话,它可能是一个用户代理头,以及其他一些东西的组合。但是说真的,他们的API是一个不错的选择。我想知道为什么它不起作用,因为我提供了一个标头作为浏览器传递它,但仍然会得到相同的错误。你确定标头吗?我认为你可以将任何名称作为用户代理传递。很可能你的网络配置有问题,或者你被维基百科阻止了,或者你可以在等待15分钟后ping en.wikipedia.org检查是否有问题。从wikipedia-lb.eqiad.wikimedia.org(208.80.154.225)获得
64字节:icmp_-seq=465 ttl=51 time=368 ms 64字节来自wikipedia-lb.eqiad.wikimedia.org(208.80.154.225):icmp_-seq=466 ttl=52 time=373 ms
现在“块”似乎已经消失了。我可以在浏览器中看到wiki页面
import urllib2
proxy = urllib2.ProxyHandler({'http': 'user:password@your_proxy_server:proxy_port'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
urllib2.urlopen('http://www.python.org/')
import  urllib2
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1'}
req = urllib2.Request("http://en.wikipedia.org/wiki/LALR_parser", headers=headers)
a = urllib2.urlopen(req)
print a.read()