python爬虫网页崩溃怎么处理_《Python网络爬虫》1.2 爬取网页的异常处理
时间: 2023-07-19 15:39:24 浏览: 169
当Python爬虫程序爬取网页时,有时候会出现网页崩溃或者服务器繁忙等异常情况,这时候需要对这些异常情况进行处理,避免影响程序的正常运行。
《Python网络爬虫》中提到了一些常见的异常处理方法:
1. 使用try...except语句捕获异常,例如:
```python
import requests
try:
response = requests.get(url)
response.raise_for_status()
# 处理网页内容
except requests.exceptions.RequestException as e:
print(e)
# 处理异常情况
```
2. 设置超时时间,例如:
```python
import requests
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
# 处理网页内容
except requests.exceptions.Timeout as e:
print(e)
# 处理超时异常情况
except requests.exceptions.RequestException as e:
print(e)
# 处理其他异常情况
```
3. 重试机制,例如:
```python
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
retry_strategy = Retry(
total=3,
status_forcelist=[500, 502, 503, 504],
backoff_factor=1
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session = requests.Session()
session.mount("http://", adapter)
session.mount("https://", adapter)
try:
response = session.get(url)
response.raise_for_status()
# 处理网页内容
except requests.exceptions.RequestException as e:
print(e)
# 处理异常情况
```
以上是一些常见的异常处理方法,具体使用可以根据实际情况选择合适的方法。另外,还可以使用日志记录异常信息,方便后续排查问题。
阅读全文