爬虫利器- -scrapy
爬虫框架学习。
安装 scrapy
1 | pip install Scrapy==2.5.0 |
创建 scrapy 项目
1 | scrapy startproject example # example 为项目名称 |
scrapy 目录结构说明
- spiders 爬虫主要程序
- items.py 定义想要爬取或存储的资料
- middlewares.py 定义 spider 与 engine 中间件 及 Engine 与 下载器(downloader)中间件
- piplines.py 定义 items 资料的后续处理,例如:清理、存储至资料库
- settings.py scrapy 配置
- scrapy.cfg scrapy 设置文档
建立爬虫程序
1 | cd first_scrapy |
爬取内容
使用 css 方法
- response.css 使用 scrapy 自带的 css 方法获取网页中的内容
- ::text 获取文本信息
- ::attr(属性名称) 获取属性值
使用 xpath 方法
- response.xpath 使用 scrapy 自带的 [xpath][xpath-web](Chrome 可以使用xpath helper 工具测试语法) 方法获取网页中的内容
- 实例
1 | titles = response.xpath( |
保存内容
使用 MySQL 保存
配置
- 在 settings.py 中配置链接信息
1 | ITEM_PIPELINES = { |
- items.py 配置保存的方式
1 | class NewsScraperItem(scrapy.Item): |
- piplines.py 配置数据库连接操作
1 | class NewsScraperPipeline: |
使用 CSV 保存数据
1 | scrapy crawl inside -o posts.csv # 使用 scrapy 自带的 csv 保存文本 posts.csv 为 |
使用 selenium 爬取动态数据
1 | from selenium import webdriver |
推荐文章
-
2022-12-01
nvm 可以让你快速的安装和使用不同版本的 node 通过简单的命令就可以实现。
-
2020-07-14
编写 python 代码最值得推荐的编辑器。内置丰富的功能,能满足日常的代码编写。
-
2021-03-01
本文仅介绍 Centos 或 Redhat 系列源码编译安装最新版本的 Git 服务。