当前位置: 首页 > news >正文

爬虫框架 - Coocan

安装

  • pip install coocan

演示

在这里插入图片描述

代码

import jsonimport coocan
from coocan import Request, MiniSpider
from loguru import logger# 可以改成你自己的 CSDN 名称
username = "markadc"class CSDNDetailSpider(MiniSpider):start_urls = ['http://www.csdn.net']max_requests = 10def middleware(self, request: Request):request.headers["Referer"] = "http://www.csdn.net/"def parse(self, response):api = "https://blog.csdn.net/community/home-api/v1/get-business-list"params = {"page": "1","size": "20","businessType": "lately","noMore": "false","username": username}yield Request(api, self.parse_page, params=params, cb_kwargs={"api": api, "params": params})def parse_page(self, response, api, params):current_page = params["page"]data = json.loads(response.text)some = data["data"]["list"]if not some:logger.warning("没有第 {} 页".format(current_page))returnfor one in some:date = one["formatTime"]name = one["title"]detail_url = one["url"]logger.info("""{} {} {}""".format(date, name, detail_url))yield coocan.Request(detail_url, self.parse_detail, cb_kwargs={"title": name})logger.info("第 {} 页抓取成功".format(params["page"]))# 抓取下一页next_page = int(current_page) + 1params["page"] = str(next_page)yield Request(api, self.parse_page, params=params, cb_kwargs={"api": api, "params": params})def parse_detail(self, response, title):logger.success("{}  已访问 {}".format(response.status_code, title))if __name__ == '__main__':s = CSDNDetailSpider()s.go()

http://www.mrgr.cn/news/98546.html

相关文章:

  • JWT令牌:实现安全会话跟踪与登录认证的利器
  • 解决PIP 安装出错ERROR: cp310-cp310-manylinux_2_28_x86_64.whl is not a supported wheel
  • webpack vite
  • 半导体设备通信标准—secsgem v0.3.0版本使用说明文档(1)之概述、如何安装及使用方法
  • 【Bluedroid】A2DP Sink播放流程源码分析(二)
  • VGA显示
  • vue3环境搭建、nodejs22.x安装、yarn 1全局安装、npm切换yarn 1、yarn 1 切换npm
  • Jenkins插件下载慢解决办法
  • RAGFlow本地部署教程 :多模态检索+动态生成,用AI重构企业知识生产力
  • 第3篇:深入 Framer Motion Variants:掌握组件动画编排的艺术
  • Android掉帧分析
  • 利用pnpm patch命令实现依赖包热更新:精准打补丁指南
  • hadoop执行sqoop任务找不到jar
  • HTTP HTTPS RSA
  • idea如何使用git
  • MCP服务,阿里云百炼,Cline,mysql-mcp-server,MCP通信原理
  • 【HD-RK3576-PI】定制用户升级固件
  • GPIO _OUTPUT-NORMAL 模式
  • OpenAI发布GPT-4.1系列模型——开发者可免费使用
  • XSS漏洞及常见处理方案