我想从google.com中抓取网页结果。我遵循了这个问题的第一个答案,Google Search Web Scraping with Python。不幸的是,我得到了连接错误。我碰巧也查过其他网站,它没有连接。是因为公司的代理设置吗?
请注意,我正在使用虚拟env "Webscraping“。
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,它失败了。
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!')发布于 2019-03-02 07:36:47
我认为是因为您的代理设置导致了这个错误。尝试在命令提示符中运行以下命令之一
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:porthttps://stackoverflow.com/questions/53042054
复制相似问题