Scrapy的CrawlSpider类
scrapy的CrawlSpider类CrawlSpider:scrapy.spiders.CrawlSpider,规则爬虫,提供了一个新的属性 rules,该属性是一个包含一个或多个 Rule 对象的集合,每个 Rule 对爬取网站的动作定义了特定的规则。 spiders(Lib\site-packages\scrapy\spiders) 12345├── __init__.py├── crawl.py├── feed.py├── init.py└── sitemap.py 自定义爬虫类123456789101112from scrapy.spiders.crawl import CrawlSpider # 或者from scrapy.spiders import CrawlSpider,因为在__init__.py文件中以及帮你初始化导入了class TemplateSpidersSpider(CrawlSpider): name = 'template_spiders' allowed_domains = ['*'] ...
GitHub Actions + Hexo 博客自动部署
本文初稿写于 2020 年,当时使用 Travis CI。现改为在 GitHub Actions 中完成构建与部署;与 Travis 相比,令牌与仓库设置都在 GitHub 内完成即可。 GitHub Actions 简介GitHub Actions 是 GitHub 提供的持续集成与持续交付(CI/CD)能力:在推送代码、发起 PR 或定时等事件时,在云端虚拟机里执行你定义的步骤(检出代码、安装依赖、测试、部署等)。 持续集成持续集成(Continuous integration,CI)指团队成员频繁把改动合并进主干,每次合并都通过自动化构建尽早发现问题。博客场景下即:在源分支推送后自动生成静态文件并发布到 GitHub Pages。 创建分支与通用注意建立一个分支(例如 blog-source),把 Hexo 源文件放在该分支下;不要提交 node_modules、public(依赖以 package.json / package-lock.json 为准在 CI 里 npm ci)。日常写博客请只往该源分支推送。 子目录里不要误带嵌套的 .git(例...
什么是爬虫:工程视角与 IO 基础全览
1. 爬虫是什么?网络爬虫是一种自动化程序,按照规则从互联网抓取、解析并存储目标数据。 工程定义: 输入:起始 URL + 爬取规则 输出:结构化数据(JSON、数据库、CSV) 核心目标:在合法、稳定、高效、可扩展的前提下,获取所需数据。 大神通俗版:看得见的数据,我都能自动化拿下来——但要拿得稳、拿得快、不被封。 实际项目中,80% 的爬虫工作不是「抓数据」,而是应对反爬、保证稳定性、处理规模。 2. Web 基础与 HTTP 请求(必备工程知识)爬虫本质是网络 IO + 数据解析。 网页组成 HTML:内容结构(骨架) CSS:样式 JavaScript:动态渲染(现代网站大量内容靠 JS 生成) 传输协议 HTTP/HTTPS(重点掌握状态码、Headers、Cookies、Session) TCP 三次握手、四次挥手(理解连接管理) URL 组成与解析协议://域名:端口/路径?参数 工程建议: 优先抓包分析(浏览器 DevTools Network 面板),寻找 JSON API 接口,比解析 HTML 往往更快。 尊重 robots.txt 和...
Hexo 入门:1.安装环境
查看官方的文档https://hexo.io/zh-cn/docs/index.html win10系统1.安装环境 Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本) Git 2.安装所需的模块 1npm install -g hexo-cli 1234567安装以后,可以使用以下两种方式执行 Hexo:npx hexo <command>将 Hexo 所在的目录下的 node_modules 添加到环境变量之中即可直接使用 hexo <command>:echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile 3.构建1hexo init <folder> 12cd <folder>npm install _config.yml 网站的 [配置](https://hexo.io/zh-cn/docs/configuration) 信息,您可以在此配置大部分的参数。...