首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ConnectionError: HTTPSConnectionPool(host='www.google.com',port=443):

ConnectionError: HTTPSConnectionPool(host='www.google.com',port=443):
EN

Stack Overflow用户
提问于 2018-10-29 09:07:56
回答 1查看 1.7K关注 0票数 0

我想从google.com中抓取网页结果。我遵循了这个问题的第一个答案,Google Search Web Scraping with Python。不幸的是,我得到了连接错误。我碰巧也查过其他网站,它没有连接。是因为公司的代理设置吗?

请注意,我正在使用虚拟env "Webscraping“。

代码语言:javascript
复制
from urllib.parse import urlencode, urlparse, parse_qs

from lxml.html import fromstring
from requests import get

raw = get("https://www.google.com/search?q=StackOverflow").text
page = fromstring(raw)

for result in page.cssselect(".r a"):
    url = result.get("href")
    if url.startswith("/url?"):
        url = parse_qs(urlparse(url).query)['q']
    print(url[0])

raw = get("https://www.google.com/search?q=StackOverflow").text回溯(最近一次调用): 文件"",第1行,在raw = get("https://www.google.com/search?q=StackOverflow").text中 文件"c:\users\appdata\local\programs\python\python37\webscraping\lib\site-packages\requests\api.py",第75行,在get返回请求(‘get’,url,params=params,**kwargs) 文件"c:\users\appdata\local\programs\python\python37\webscraping\lib\site-packages\requests\api.py",第60行,请求返回session.request(method=method,url=url,**kwargs) 文件"c:\users\appdata\local\programs\python\python37\webscraping\lib\site-packages\requests\sessions.py",第524行,请求resp = self.send(prep,**send_kwargs) 文件"c:\users\appdata\local\programs\python\python37\webscraping\lib\site-packages\requests\sessions.py",行637,在send =adapter.send(请求,**kwargs)中 文件"c:\users\appdata\local\programs\python\python37\webscraping\lib\site-packages\requests\adapters.py",第516行,在发送提升ConnectionError(e,request=request)中 ConnectionError: HTTPSConnectionPool( host ='www.google.com',port=443):最大重试超过url: /search?q=StackOverflow (由/search?q=StackOverflow对象引起:未能建立新连接: WinError 10060连接尝试失败,因为连接方在一段时间后没有正确响应,或者已建立连接失败,因为连接主机没有响应‘)

请给我建议。谢谢

编辑:我试过google.com,它失败了。

代码语言:javascript
复制
import os
hostname = "https://www.google.com" #example
response = os.system("ping -c 1 " + hostname)

#and then check the response...
if response == 0:
  print(hostname, 'is up!')
else:
  print(hostname, 'is down!')

https://www.google.com倒下了!

EN

回答 1

Stack Overflow用户

发布于 2019-03-02 07:36:47

我认为是因为您的代理设置导致了这个错误。尝试在命令提示符中运行以下命令之一

代码语言:javascript
复制
set http_proxy=http://proxy_address:port
set http_proxy=http://user:password@proxy_address:port
set https_proxy=https://proxy_address:port
set https_proxy=https://user:password@proxy_address:port
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53042054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档