Featured image of post 爬虫学习笔记1-基础知识

爬虫学习笔记1-基础知识

工作也半年了,基本都在部署脚本,也一直在学习,今年的主要任务是爬虫和后端接口,后端主要使用flask,也在学习中,先学习爬虫

基本定义:

爬虫本质是模拟浏览器行为,自动化获取网页数据,但需遵守 robots.txt 和法律。

核心概念:

爬虫涉及网络协议、页面解析和数据存储。以下表格对比关键概念:

概念定义与作用关键工具/技术常见问题操作建议
HTTP 协议网页传输协议,支持 GET/POST 等方法requests 库模拟请求状态码 403/429(禁访/限速)curl 命令测试 URL
HTML/CSS页面结构/样式,选择器提取元素BeautifulSoup/lxml 解析动态 JS 加载内容Chrome DevTools 检查元素
XPathXML 路径语言,精确定位节点lxml.etree.XPath语法复杂//div[@class='item']
JSON/API结构化数据接口,直接返回数据requests.json() 解析API 密钥/限额检查 Network 面板抓包
Robots.txt网站爬虫协议,定义允许路径robotparser 库检查忽略导致封禁访问 /robots.txt 查看
User-Agent浏览器标识,伪装请求头headers={‘User-Agent’: ‘…’}默认 Python 被识别仿 Chrome UA 避检测

解读:爬虫 = 请求 + 解析 + 存储。基础版用 requests + BS4,高级用 Scrapy 框架。

主要库与工具:

Python 爬虫库多样,按复杂度分层:

1. 入门级:requests + BeautifulSoup

  • requests:HTTP 请求神器,支持 GET/POST/Session。
  • BeautifulSoup (BS4):HTML 解析器,友好 API。
  • 安装pip install requests beautifulsoup4 lxml(lxml 加速 BS4)。

2. 中级:Scrapy

  • Scrapy:全栈框架,支持管道、爬虫引擎、中间件。
  • 安装pip install scrapy

3. 高级:Selenium/Playwright

  • Selenium:浏览器自动化,处理 JS 渲染。
  • 安装pip install selenium webdriver-manager

4. 辅助库

  • fake-useragent:随机 UA。
  • proxies:代理池(如 Scrapy-Redis)。
  • Pandas:数据存储/分析。
使用 Hugo 构建
主题 StackJimmy 设计