Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.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中抓取Edmunds.com网站时,如何处理读取超时错误?_Python_Error Handling_Beautifulsoup_Nlp_Timeout - Fatal编程技术网

在Python中抓取Edmunds.com网站时,如何处理读取超时错误?

在Python中抓取Edmunds.com网站时,如何处理读取超时错误?,python,error-handling,beautifulsoup,nlp,timeout,Python,Error Handling,Beautifulsoup,Nlp,Timeout,我正在尝试一个网络抓取的初学者,尝试从我的研究中抓取客户评论 但是,即使是基本代码也只给出读取超时错误 导入请求 从bs4导入BeautifulSoup 结果=请求。获取(“https://www.edmunds.com/") 打印(结果、状态和代码) 你能帮忙吗?这个网站有一些基本的防刮机制。特别是,它会检查您的“get”请求是否与来自浏览器的请求相似,并且有一个头。如果你想。。。请参阅下面的如何在请求中传递标准头 现在,我不会使用该网站来学习抓取——大部分内容看起来都是基于javascri

我正在尝试一个网络抓取的初学者,尝试从我的研究中抓取客户评论

但是,即使是基本代码也只给出读取超时错误

导入请求
从bs4导入BeautifulSoup
结果=请求。获取(“https://www.edmunds.com/")
打印(结果、状态和代码)

你能帮忙吗?

这个网站有一些基本的防刮机制。特别是,它会检查您的“get”请求是否与来自浏览器的请求相似,并且有一个头。如果你想。。。请参阅下面的如何在请求中传递标准头

现在,我不会使用该网站来学习抓取——大部分内容看起来都是基于javascript构建的(还没有完全检查过+你需要根据目标页面进行评估)。如果你想刮取这个站点,你要么需要找到底层的API调用,要么需要更高级的工具,比如依赖浏览器的selenium

import requests 
from bs4 import BeautifulSoup 

header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4040.128"
}

result = requests.get("https://www.edmunds.com/", headers=header, timeout=15)
print(result.status_code)

该网站有一些基本的防刮机制。特别是,它会检查您的“get”请求是否与来自浏览器的请求相似,并且有一个头。如果你想。。。请参阅下面的如何在请求中传递标准头

现在,我不会使用该网站来学习抓取——大部分内容看起来都是基于javascript构建的(还没有完全检查过+你需要根据目标页面进行评估)。如果你想刮取这个站点,你要么需要找到底层的API调用,要么需要更高级的工具,比如依赖浏览器的selenium

import requests 
from bs4 import BeautifulSoup 

header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4040.128"
}

result = requests.get("https://www.edmunds.com/", headers=header, timeout=15)
print(result.status_code)
使用或向标题中添加
用户代理


开始刮取之前,请参见使用
用户代理或将其添加到标题中



开始刮之前,请参见

嗨,朱丽安娜,请先熟悉一下,然后再问下一个问题!祝你在这里过得愉快:)嗨,朱莉安娜,在你问下一个问题之前,请先熟悉一下!祝你在这里过得愉快:)谢谢你的回答。我试过使用header和request_html,但正如您所说的,由于反废弃机制,它不起作用。如何使用selenium解决这个问题?他们在2017年关闭了一个API。感谢您的回答。我试过使用header和request_html,但正如您所说的,由于反废弃机制,它不起作用。如何使用selenium解决这个问题?他们在2017年关闭了一个API。
import requests

headers = {
    "User-Agent": "Mozilla/5.0"
}
result = requests.get(url="https://www.edmunds.com", headers=headers)

try:
    status = result.status_code
    print(status)
except Exception as e:
    print(e)