使用amazon_product_review_scraper遇SSL证书验证失败问题求助
解决亚马逊评论爬虫SSL证书验证失败问题
问题分析
你遇到的SSLCertVerificationError是因为amazon_product_review_scraper库在尝试从sslproxies.org获取代理服务器时,无法验证该网站的SSL证书。即使安装了certifi,也可能因为Python未正确加载证书、系统根证书缺失,或者库本身的代理逻辑问题导致错误。
解决方案
1. 禁用代理(优先推荐)
多数爬虫库默认启用代理,你可以尝试在初始化时直接禁用代理功能(若库支持该参数):
from amazon_product_review_scraper import amazon_product_review_scraper # 添加use_proxy=False参数禁用代理 review_scraper = amazon_product_review_scraper(amazon_site="amazon.in", product_asin="B098RKWHHZ", use_proxy=False) reviews_df = review_scraper.scrape() reviews_df.head(5)
2. 强制Python使用certifi证书
如果必须使用代理,手动指定certifi的证书路径,确保Python加载正确的CA证书:
import certifi import requests # 全局设置requests使用certifi的证书 requests.Session().verify = certifi.where() from amazon_product_review_scraper import amazon_product_review_scraper review_scraper = amazon_product_review_scraper(amazon_site="amazon.in", product_asin="B098RKWHHZ") reviews_df = review_scraper.scrape() reviews_df.head(5)
3. 临时禁用SSL验证(仅应急使用)
注意:此方法跳过SSL证书验证,存在安全风险,仅用于测试或应急场景:
import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning # 禁用不安全请求警告 requests.packages.urllib3.disable_warnings(InsecureRequestWarning) # 全局关闭SSL验证 requests.Session().verify = False from amazon_product_review_scraper import amazon_product_review_scraper review_scraper = amazon_product_review_scraper(amazon_site="amazon.in", product_asin="B098RKWHHZ") reviews_df = review_scraper.scrape() reviews_df.head(5)
4. 更新系统根证书
如果是系统层面的CA证书缺失,更新系统根证书:
- Linux(Debian/Ubuntu):
sudo apt-get update && sudo apt-get install --reinstall ca-certificates - macOS:
brew install openssl sudo ln -s /usr/local/etc/openssl/cert.pem /etc/ssl/cert.pem - Windows:通过系统设置的「更新和安全」功能安装最新系统更新,包含根证书更新。
内容的提问来源于stack exchange,提问作者CharlesG
相关产品推荐
相关产品推荐

