Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.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_Beautifulsoup_Urllib - Fatal编程技术网

如何通过代理使用Python访问网页

如何通过代理使用Python访问网页,python,beautifulsoup,urllib,Python,Beautifulsoup,Urllib,我正在编写一个小程序,通过提供URL从网页获取所有超链接,但我所在的网络似乎正在使用代理,无法获取。。 我的代码: 用于HTTP访问的urllib库不支持代理身份验证(它支持未经身份验证的代理)。发件人: 当前不支持需要身份验证才能使用的代理 支持;这被认为是实现限制 我建议您切换到urllib2,并按照中的说明使用它。您用于HTTP访问的urllib库不支持代理身份验证(它支持未经身份验证的代理)。发件人: 当前不支持需要身份验证才能使用的代理 支持;这被认为是实现限制 我建议您切换到urll

我正在编写一个小程序,通过提供URL从网页获取所有超链接,但我所在的网络似乎正在使用代理,无法获取。。 我的代码:


用于HTTP访问的
urllib
库不支持代理身份验证(它支持未经身份验证的代理)。发件人:

当前不支持需要身份验证才能使用的代理 支持;这被认为是实现限制


我建议您切换到
urllib2
,并按照中的说明使用它。

您用于HTTP访问的
urllib
库不支持代理身份验证(它支持未经身份验证的代理)。发件人:

当前不支持需要身份验证才能使用的代理 支持;这被认为是实现限制


我建议您切换到
urllib2
,并按照中的演示使用它。

您可以使用请求模块

导入请求
代理={'http':'http://host/' } 
#或者如果它需要身份验证'http://user:pass@主机/'
r=requests.get(url,proxies=proxies)
text=r.text

您可以改用请求模块

导入请求
代理={'http':'http://host/' } 
#或者如果它需要身份验证'http://user:pass@主机/'
r=requests.get(url,proxies=proxies)
text=r.text


根据您的问题,您的网络可能正在使用代理,也可能没有。你能说得更具体一点,或者只是路过你的管理员问一下吗?是的,它有一个代理,我在家里试过,它工作得很好,但当我把它拿到我的部门向我的老师展示它的工作能力时…这是错误
IOError:[Errno socket error][Errno-2]名称或服务未知
这是我用过的代理“proxy4.nehu.ac.in:3128“我如何将其放入程序的代码中…”。。?请帮助我,我被它困住了。好的,我会检查一下,如果我遇到一些问题,我会回来找你。现在我不能测试它,因为我必须在大学自己尝试,因为我没有代理网络来测试。如果你同意的话?你可以自己轻松地设置一个代理。squid很受欢迎。根据您的问题,您的网络可能使用代理服务器,也可能没有。你能说得更具体一点,或者只是路过你的管理员问一下吗?是的,它有一个代理,我在家里试过,它工作得很好,但当我把它拿到我的部门向我的老师展示它的工作能力时…这是错误
IOError:[Errno socket error][Errno-2]名称或服务未知
这是我用过的代理“proxy4.nehu.ac.in:3128“我如何将其放入程序的代码中…”。。?请帮助我,我被它困住了。好的,我会检查一下,如果我遇到一些问题,我会回来找你。现在我不能测试它,因为我必须在大学自己尝试,因为我没有代理网络来测试。如果你同意的话?你可以自己轻松地设置一个代理。例如,squid非常流行。我是python新手,所以很难实现,只是为了开头,你能告诉我应该如何将其放入程序中吗?我在python文档中读到,urllib2中有一个proxyHandler可以处理代理,我如何把它放在这样一种方式,它将通过我用来连接到互联网的代理。请帮助我是python新手,所以我很难实现,首先,你能告诉我应该如何把它放在我的程序中吗?我在python文档中读到,urllib2中有一个proxyHandler可以处理代理,我如何将它放在我用来连接到internet的代理中。请帮助我这样做吗
proxies={'http':'http://proxya4.nehu.ac.in }
您需要端口和结束引号。因此它应该是
proxies={'http':'http://proxya4.nehu.ac.in:3128' }
我可以稍后再跟你联系吗?我会先试试,让你知道事情的进展情况。我真的很想这样做..我内心很难受。嗨,我试过你的建议我在打印
r=requests时得到了“回复200”。get(“http://www.dota2.com,代理=poxies)
这意味着什么。200是响应的状态码。它表示响应正常。[1]要从页面获取html,您需要打印
r.text
[1]:我应该这样说吗
proxy={'http':'http://proxya4.nehu.ac.in }
您需要端口和结束引号。因此它将是
代理={'http':'http://proxya4.nehu.ac.in:3128“}
我可以稍后再跟你联系吗?我会先试试,让你知道事情的进展情况。我真的很想这样做..我内心很难受。嗨,我试过你的建议,我在打印
r=requests时得到了“回复200”。get(”http://www.dota2.com,代理=poxies)
这意味着什么。200是响应的状态码。表示响应正常。[1]要从页面获取html,您需要打印
r.text
[1]:
import sys
import urllib
import urlparse

from bs4 import BeautifulSoup
def process(url):
    page = urllib.urlopen(url) 
    text = page.read()
    page.close()
    soup = BeautifulSoup(text) 
    with open('s.txt','w') as file:
        for tag in soup.findAll('a', href=True):
            tag['href'] = urlparse.urljoin(url, tag['href'])
            print tag['href']
            file.write('\n')
            file.write(tag['href'])


def main():
    if len(sys.argv) == 1:
        print 'No url !!'
        sys.exit(1)
    for url in sys.argv[1:]:
        process(url)