网络爬虫及scrapy爬虫框架介绍
2018-03-26 17:24
323 查看
爬虫介绍
爬虫介绍无人值守的自动下载网页内容的手段,只要支持TCP网络编程的所有语言都可以实现爬虫
python爬虫火的原因
代码少。框架丰富,语法简洁
爬虫在技术上怎么实现
1:tcp能够连接–http
2:以流的形式读取并保存
产生爬虫框架的原因
tcp能够连接
问题1.由于有些服务端设置了请求头部的校验
问题2.有些页面的访问需要提交数据(GET或POST方式)
问题3.有些网页需要会话 需要session和cookie
问题4.任务的管理调度
流的形式读取并保存
问题1:我们不需要网页所有内容,网页内容提取
问题2:方便的数据持久能力
scrapy爬虫框架介绍
架构
scrapy engine 核心引擎Spiders 爬虫
Scheduler 调度器
items 内容
Pipeline 管道筛选处理
中间件 负责请求和下载
认识组件
items 爬到的内容spiders 蜘蛛
Pipeline 内容处理的管道
Feed exports 内容的序列化方式
使用步骤
1.安装scrapyroot 用户下 yum -y install gcc(scrapy需要gcc依赖)
切换非root用户 pip install scrapy(使用的是python3)
2.创建爬虫项目
scrapy startproject firstdemo
3.认识项目结构
root 用户下 yum -y install tree
切换非root用户 tree
效果如下
firstdemo ├── firstdemo │ ├── __init__.py │ ├── items.py │ ├── middlewares.py │ ├── pipelines.py │ ├── __pycache__ │ ├── settings.py │ └── spiders │ ├── __init__.py │ └── __pycache__ └── scrapy.cfg
4.编写自己的代码
爬的内容
定义Item,编写一个类继承scrapy.Item
并声明定义field
爬的范围
定义蜘蛛(spider)集成scrapy.Spider
定义蜘蛛名 name
定义开始爬的位置 start_urls
定义爬的域,也就是规定范围 allowed_domains
定义爬的行为 def parse(response)
5.启动爬虫
scrapy crawl kgc_spider
执行流程
引擎从调度器中取出一个链接(URL)用于接下来的抓取引擎把URL封装成一个请求(Request)传给下载器
下载器把资源下载下来,并封装成应答包(Response)
爬虫解析Response
解析出实体(Item),则交给实体管道进行进一步的处理
解析出的是链接(URL),则把URL交给调度器等待抓取
xpath简单语法介绍
/ | 表示从根开始 |
---|---|
// | 表示任意后代 |
. | 表示当前 |
@ | 表示当前属性 |
函数 |
表示从下的div标签
html.xpath(“//div”)
表示此网页的所有div标签
浅显认知
Item == entity类spider == dao层
pipelines.py == controller层
settings.py == web.xml
相关文章推荐
- 网络爬虫框架scrapy介绍及应用——抓取新浪新闻的标题内容评论
- Scrapy (网络爬虫框架)入门
- Python网络爬虫2 ---- scrapy爬虫架构介绍和初试
- Scrapy爬虫框架介绍
- Ubuntu pip 安装网络爬虫框架 scrapy 出现的错误
- python网络爬虫框架Scrapy
- Scrapy:Python的爬虫框架----原理介绍
- 爬虫Scrapy-01框架介绍
- 分布式网络爬虫框架Cola介绍
- Scrapy网络爬虫框架实战[以腾讯新闻网为例]
- Python网络爬虫3 ---- ubuntu下安装爬虫框架scrapy
- python 网络爬虫开源框架scrapy
- 开源python网络爬虫框架Scrapy
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第1章 课程介绍
- Python网络爬虫框架scrapy的学习
- Python的爬虫框架scrapy----原理介绍
- 开源python网络爬虫框架Scrapy
- [Python]网络爬虫(11):亮剑!爬虫框架小抓抓Scrapy闪亮登场!
- 从零开始写Python爬虫 --- 2.1 Scrapy 爬虫框架的安装与基本介绍
- 网络爬虫:使用Scrapy框架编写一个抓取书籍信息的爬虫服务