第九天 Python爬虫之Scrapy(框架简单使用 )
2023-09-11 14:19:57 时间
@作者 : SYFStrive
@博客首页 : HomePage
🥧 上一篇续文传送门
📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗
📌:如果觉得文章对你有帮助可以点点关注 👉:专栏连接🔗
🥧: 感谢支持,学习累了可以先看小段由小胖给大家带来的街舞😀
🔗:阅读文章
目录
简介
- Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据 (例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
- Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架使用纯 Python 语言编写。Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等。
- 提示:Twisted 是一个基于事件驱动的网络引擎框架,同样采用 Python 实现。
📦Scrapy使用前准备
- 文档如👇
- 安装
- 安装语法:python -m pip install Scrapy
- 报错:使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn 加包名
Scrapy项目的创建,运行以及分析框架结构步骤📦
1、创建项目
- scrapy startproject 项目名称
- 注意:项目的名字不允许使用数字开头 也不能包含中文
2、创建爬虫文件
- 首先到项目目录下进入到目录spiders下
- 终端运行:scrapy genspider 爬虫名字 网页的域名(如: scrapy genspider baidu www.baidu.com)
- 一般创建爬虫文件情况下不需要添加http协议 因为start_urls起始的url值是根据allowed_domains
- 所以添加了http的话 那么start_urls就需要我们手动去修改了
- 分析创建的爬虫文件
3、运行
scrapy crawl 爬虫的名字(如 👉 :scrapy crawl baidu)
4、分析
- 项目组成:
- spiders文件 → init.py
自定义的爬虫文件.py 👉 由我们自己创建,👉 是实现爬虫核心功能的文件
- init.py …
- items.py 👉 定义数据结构的地方,是一个继承自scrapy.Item的类
- middlewares.py 👉 中间件 代理
- pipelines.py 👉 管道文件,里面只有一个类,用于处理下载数据的后续处理,默认是300优先级,值越小优先级越高(1‐1000)settings.py 👉 配置文件 比如:是否遵守robots协议,User‐Agent定义等
- settings.py (下的ROBOTSTXT_OBEY = True)说明如👇
注意(裙子协议:各大产商约定的协议): 注释掉之后 那么就不遵守robots协议了 他是一个君子协议 一般情况下 我们不用遵守
运行框架📦
scrapy crawl baidu (运行完有并没有看到hello scrapyShell(因为开启了君子协议) )
如下:
如下:
简单运行框架访问一个网站(以💼为例,以及(三个属性两个方法))📦
三个属性以及两个方法
- response.text 👉 响应的是字符串
- response.body 👉 响应的是二进制文件
- response.xpath() 👉 xpath方法的返回值类型是selector列表
- extract() 👉 提取的是selector对象的是data
- extract_first() 👉 提取的是selector列表中的第一个数据
…
📰代码演示
如下:
获取源码 如下:
利用xpath插件找到想要的内容 如下:
获取内容 如下:
小总结
创建项目 👉 创建爬虫文件(检测能不能正常爬到:随便打印print()) 👉 同过xpath bas等 👉 获取相关内容
最后
Scrapy框架还未结束(待更),觉得不错的请给我专栏点点订阅,你的支持是我们更新的动力,感谢大家的支持,希望这篇文章能帮到大家
下篇文章再见ヾ( ̄▽ ̄)ByeBye
相关文章
- Python 操作 Kafka --- kafka-python
- python爬虫知识点总结(二十八)Scrapy分布式架构搭建抓取知乎
- python爬虫知识点总结(二十五)Scrapy+Cookies抓取新浪微博
- python爬虫知识点总结(二十)Scrapy中选择器用法
- python爬虫知识点总结(十二)使用Redis和Flask维护动态代理池
- 24岁非计算机专业工科妹子裸辞转行Python程序员,自学Python三个月,零基础如何系统学习python,从入门到精通?
- python爬虫做副业!解锁python爬虫挣钱方式
- 82 爬虫 - Scrapy 和 scrapy-redis的区别
- 精通Python网络爬虫:核心技术、框架与项目实战导读
- 《精通Python网络爬虫:核心技术、框架与项目实战》——3.2 爬行策略
- Python--爬虫,了解防盗链-->解决防盗链,解决反反反爬
- 分享:python网络爬虫技术及配套视频
- Python Scrapy 自动爬虫注意细节(3)
- 基于Scrapy框架的Python新闻爬虫
- Python新闻网站项目-2.Scrapy爬虫的配置和数据抓取
- Python爬虫教程之五大重要库入门使用教程Scrapy、Requests、Urllib、Beautiful Soup、Selenium(教程含源码)
- 手把手带你入门Python爬虫(三、PyMySQL)
- 爬虫实例(一) —— 5行 Python 代码爬取
- Python爬虫之Urllib(内置库)
- 聚焦Python分布式爬虫必学框架Scrapy打造搜索引擎
- 18. python爬虫——基于scrapy框架设置下载器中间件中的UA伪装和代理IP
- 16. python爬虫——基于scrapy爬取多页面新闻信息,通过请求传参完成持久化存储
- Python学习---爬虫学习[scrapy框架初识]
- Python 基础 之 Ubuntu 上安装 python 和 python-pip
- Python 爬虫 之 爬取王者荣耀的英雄们所有大皮肤图片,并 json 形式保存英雄列表信息到本地
- 【Python爬虫】:Scrapy数据持久化
- 【Python爬虫】: Scrapy工程的创建和使用(爬取糗图百科)