scrapling AI爬虫 初体验

1.scrapling介绍

AI时代,传统的爬虫需要根据网站的改变,需要变成xpath的匹配方式,或者说风控,scrapling比较吸引人的是可以根据学习网站的结构,网页更新时重新定位元素,据说还能绕过WAF,JA3指纹等

项目地址:https://github.com/D4Vinci/Scrapling

2.初体验

2.1 安装依赖

复制代码
certifi
orjson
w3lib
typing_extensions
lxml
cssselect
curl_cffi
playwright
browserforge
patchright
msgspec
anyio

2.2 demo 测试

python 复制代码
# from scrapling.fetchers import StealthyFetcher
#
# page = StealthyFetcher.fetch('https://example.com', headless=True)
# products = page.css('.product', auto_save=True)  # 第一次爬取时保存元素特征
#
# # 后来网站改版了,没关系,开启 adaptive=True 自动找回!
# products = page.css('.product', adaptive=True)
# print(products)
import os

import certifi
import ssl
from scrapling.spiders import Spider, Response
os.environ['SSL_CERT_FILE'] = certifi.where()
os.environ['REQUESTS_CA_BUNDLE'] = certifi.where()  # 针对requests库
# 如果你使用http.client或urllib,还需要设置这个
ssl._create_default_https_context = ssl.create_default_context
class MySpider(Spider):
  name = "demo"
  start_urls = ["https://example.com/"]

  async def parse(self, response: Response):
      for item in response.css('.product'):
          yield {"title": item.css('h2::text').get()}
print(f"certifi 路径: {certifi.where()}")
print(f"证书文件是否存在: {certifi.where()}")
print(f"SSL默认路径: {ssl.get_default_verify_paths()}")
# 强制Python的SSL模块使用certifi的证书

MySpider().start()

输出结果如下

bash 复制代码
D:\ProgramData\Anaconda3\envs\scrapling\python.exe P:\code\Scrapling-main\tests\demo\demo.py 
certifi 路径: D:\ProgramData\Anaconda3\envs\scrapling\Lib\site-packages\certifi\cacert.pem
证书文件是否存在: D:\ProgramData\Anaconda3\envs\scrapling\Lib\site-packages\certifi\cacert.pem
SSL默认路径: DefaultVerifyPaths(cafile='D:\\ProgramData\\Anaconda3\\envs\\scrapling\\Lib\\site-packages\\certifi\\cacert.pem', capath=None, openssl_cafile_env='SSL_CERT_FILE', openssl_cafile='C:\\Program Files\\Common Files\\ssl\\cert.pem', openssl_capath_env='SSL_CERT_DIR', openssl_capath='C:\\Program Files\\Common Files\\ssl\\certs')
[2026-03-09 23:32:09]:(demo) INFO: Spider initialized
[2026-03-09 23:32:09]:(demo) DEBUG: Starting spider
[2026-03-09 23:32:10]:(demo) WARNING: Attempt 1 failed: Failed to perform, curl: (60) SSL certificate problem: unable to get local issuer certificate. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.. Retrying in 1 seconds...
[2026-03-09 23:32:11]:(demo) WARNING: Attempt 2 failed: Failed to perform, curl: (60) SSL certificate problem: unable to get local issuer certificate. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.. Retrying in 1 seconds...
[2026-03-09 23:32:13]:(demo) ERROR: Failed after 3 attempts: Failed to perform, curl: (60) SSL certificate problem: unable to get local issuer certificate. See https://curl.se/libcurl/c/libcurl-errors.html first for more details.
[2026-03-09 23:32:13]:(demo) DEBUG: Spider idle
[2026-03-09 23:32:13]:(demo) DEBUG: Spider closed
[2026-03-09 23:32:13]:(demo) INFO: {
    "items_scraped": 0,
    "items_dropped": 0,
    "elapsed_seconds": 3.64,
    "download_delay": 0.0,
    "concurrent_requests": 4,
    "concurrent_requests_per_domain": 0,
    "requests_count": 0,
    "requests_per_second": 0.0,
    "sessions_requests_count": {},
    "failed_requests_count": 1,
    "offsite_requests_count": 0,
    "blocked_requests_count": 0,
    "response_status_count": {},
    "response_bytes": 0,
    "domains_response_bytes": {},
    "proxies": [],
    "custom_stats": {},
    "log_count": {
        "debug": 3,
        "info": 1,
        "warning": 2,
        "error": 1,
        "critical": 0
    }
}

进程已结束,退出代码为 0

报出的SSL问题还通过安装

bash 复制代码
pip install --upgrade certifi

还是报错,明天继续测试新的特性

Attempt 1 failed: Failed to perform, curl: (60) SSL certificate problem: unable to get local issuer certificate

相关推荐
源流之道7 小时前
联想Y700 五代(TB323FU)刷 ColorOS 16 教程指南
网络·ai·刷机指南·刷机心得
无忧智库9 小时前
AI分镜提示词怎么选
人工智能·ai
小凡geo9 小时前
本地商家 GEO:用脚本一键生成 FAQPage 结构化数据,让 AI 切片更稳
开发语言·人工智能·python·microsoft·搜索引擎·ai
wp123_112 小时前
TLVR 电感在 AI 服务器电源中的应用与市场前景分析
服务器·人工智能·科技·ai·硬件工程
软件开发技术深度爱好者14 小时前
中学生学习工具:多学科自学启导者(轻量版)实现
学习·ai·技术实践
zhanghaha131415 小时前
AI Agent_5 AI 大语言模型基础(LLM)
ai
感谢地心引力15 小时前
来试试我做的音乐播放器吧
ai·rust·音乐·navidrome·music·tarui
fundroid16 小时前
Android AI 开发,真正拉开差距的是工程闭环
android·ai·大模型·agent
李航198316 小时前
自动动手开发图形引擎,不仅能AI建模,还能AI渲染
人工智能·python·计算机视觉·ai·ai编程