LZH Logo Docs
GitHub

网页爬虫 cookbook

    • 前言
    • 第 1 章 Scraping入门
      • 配置 Python 开发环境
      • 使用 Requests 和 Beautiful Soup 抓取 Python.org
      • 在 urllib3 和 Beautiful Soup 中抓取 Python.org
      • 使用 Scrapy 抓取 Python.org
      • 使用 Selenium 和 PhantomJS 抓取 Python.org
    • 第 2 章 数据采集和提取
      • 如何使用 BeautifulSoup 解析网站并导航 DOM
      • 使用 Beautiful Soup 的 find 方法搜索 DOM
      • 使用 XPath 和 lxml 查询 DOM
      • 使用 XPath 和 CSS 选择器查询数据
      • 使用 Scrapy 选择器
      • 以 unicode / UTF-8 加载数据
    • 第 3 章 处理数据
      • 处理 CSV 和 JSON 数据
      • 使用AWS S3存储数据
      • 使用 MySQL 存储数据
      • 使用 PostgreSQL 存储数据
      • 在 Elasticsearch 中存储数据
      • 如何使用 AWS SQS 构建强大的 ETL 管道
    • 第 4 章 处理图像、音频和其他资源
      • 从网络下载媒体内容
      • 使用 urllib 解析 URL 来获取文件名
      • 确定 URL 的内容类型
      • 根据内容类型确定文件扩展名
      • 下载图像并保存到本地文件系统
      • 下载图像并将其保存到 S3
      • 生成图像的缩略图
      • 截取网站的屏幕截图
      • 使用外部服务对网站进行屏幕截图
      • 使用 pytesseract 对图像执行 OCR
      • 创建视频缩略图
      • 将 MP4 视频翻录为 MP3
    • 第 5 章 抓取 - 行为准则
      • 合法性的抓取和礼貌性的抓取
      • 尊重 robots.txt
      • 使用站点地图进行抓取
      • 爬行有延迟
      • 使用可识别的用户代理
      • 设置每个域的并发请求数
      • 使用自动节流
      • 使用 HTTP 缓存进行开发
    • 第 6 章 抓取挑战和解决方案
      • 重试失败的页面下载
      • 支持页面重定向
      • 等待内容在 Selenium 中可用
      • 将爬行限制为单个域
      • 处理无限滚动页面
      • 控制爬行的深度
      • 控制爬行的长度
      • 处理分页网站
      • 处理表单和基于表单的授权
      • 处理 basic 授权
      • 通过代理抓取来防止禁令
      • 随机化用户代理(user agents)
      • 缓存响应
    • 第 7 章 文本整理和分析
      • 安装 NLTK
      • 执行句子拆分
      • 执行标记化(tokenization)
      • 执行词干提取
      • 进行词形还原
      • 确定和删除停用词
      • 计算单词的频率分布
      • 识别并删除罕见单词
      • 删除标点符号
      • 拼凑 n 元语法
      • 从 StackOverflow 抓取职位列表
      • 阅读并清理职位列表中的描述
    • 第 8 章 搜索、挖掘和可视化数据
      • 对 IP 地址进行地理编码
      • 如何收集维基百科编辑的 IP 地址
      • 可视化维基百科上的贡献者位置频率
      • 从 StackOverflow 职位列表创建词云
      • 抓取维基百科上的链接
      • 可视化维基百科上的页面关系
      • 计算分离度
    • 第 9 章 创建简单的数据 API
      • 使用 Flask-RESTful 创建 REST API
      • 将 REST API 与抓取代码集成
      • 添加 API 以查找职位列表的技能
      • 将数据作为抓取请求的结果存储在 Elasticsearch 中
      • 在抓取之前检查 Elasticsearch 的列表
    • 第 10 章 使用 Docker 创建 Scraper 微服务
      • 安装Docker
      • 从 Docker Hub 安装 RabbitMQ 容器
      • 运行 Docker 容器 (RabbitMQ)
      • 创建并运行 Elasticsearch 容器
      • 停止/重新启动容器并删除镜像
      • 使用 Nameko 创建通用微服务
      • 创建抓取微服务
      • 创建刮刀容器
      • 创建 API 容器
      • 使用 docker-compose 在本地编写并运行 scraper
    • 第 11 章 让抓取工具成为真正的服务
      • 创建和配置 Elastic Cloud 试用帐户
      • 使用curl访问Elastic Cloud集群
      • 使用Python连接Elastic Cloud集群
      • 使用 Python API 执行 Elasticsearch 查询
      • 使用 Elasticsearch 查询具有特定技能的职位
      • 修改API以按技能搜索职位
      • 在环境中存储配置
      • 为 ECS 创建 AWS IAM 用户和密钥对
      • 配置 Docker 以使用 ECR 进行身份验证
      • 将容器推入 ECR
      • 创建ECS集群
      • 创建一个任务来运行我们的容器
      • 启动并访问AWS中的容器
  • 网页爬虫 cookbook
  • 第 9 章 创建简单的数据 API
  • 添加 API 以查找职位列表的技能
GitHub

添加 API 以查找职位列表的技能

将 REST API 与抓取代码集成 将数据作为抓取请求的结果存储在 Elasticsearch 中

Copyright © 2023 LZH | liao08022040@126.com