我想从google.com刮网页结果。我按照这个问题的第一个答案,用Python进行Google搜索网页抓取。不幸的是,我得到连接错误。我碰巧也检查了其他网站,它没有连接。是因为企业代理设置的原因吗?
请注意,我正在使用虚拟env“Webscratch”。
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 Traceback(最近一次调用):
文件 “”,第 1 行,原始 = get(“https://www.google.com/search?q=StackOverflow”).text
在get返回请求('get', url,params=params,**kwargs)的第75行中,文件c:\user\appdata\local\Program\python\python37\webscraping\lib\site-pack\api.py
请求返回session.request(method=method,url=url,**kwargs)中文件“c:\ users \ appdata \ local \ programs \ python \ python 37 \ web scraping \ lib \ site-packages \ requests \ API . py”第60行
文件 “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 \ python 37 \ web scraping \ lib \ site-packages \ requests \ sessions . py”,第637行,在send r = adapter.send(request,**kwargs)中
在发送引发连接错误(e,请求=请求)中,文件“c:\user\appdata\local\程序\python\python37\webscraping\lib\site-packes\adapters.py”,第516行
connection error:https connection pool(host = ' www . Google . com ',port = 443):URL:/search超过了最大重试次数?q=StackOverflow(由NewConnectionError('引起
请指教。谢谢
编辑:我尝试 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!')
https://www.google.com倒下了!
我认为由于您的代理设置,您会收到此错误。尝试在命令提示符下运行以下命令之一
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