Python爬虫 - Scarpy入门学习
  xWYnr39PTA9E 2023年11月19日 30 0

爬虫的分类

通用爬虫:通用爬虫是搜索引擎爬虫的重要组成部分,主要是将互联网上的网页下载到本地,再对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。

聚焦爬虫:聚焦爬虫是根据指定的需求抓取网络上指定的数据。

增量式爬虫:增量式爬虫是用来检测网站数据更新的情况,且可以将网站更新的数据进行爬取。

scarpy

定义

是一个快速的高级web抓取框架,用于抓取网站和从网页中提取结构化数据。可以用于广泛的用途,从数据挖掘到监控和自动化测试。

为爬取网站结构性数据而生,其内部集成了诸如高性能异步下载、队列、分布式、持久化等功能。

什么是框架?

就是一个具有很强通用性并且集成了很多功能的项目模板,可以应用在不同的项目需求中。 也就是说,框架是别人造好的轮子,一个项目的半成品,我们只需要拿过来编写自己的业务逻辑填空即可

怎么学习框架?

一个新的框架只需要掌握该框架的作用及其各个功能的使用即可,就是会用就行,对于框架的底层实现和原理,在逐步进阶中慢慢深入即可。

使用代理IP池来进行多线程爬取,可搭建分布式架构。

安装scarpy

Windows系统安装

pip install twisted
pip install pywin32
pip install scrapy
Twisted 是用 Python 实现的基于事件驱动的网络引擎框架,提供了允许阻塞行为但不会阻塞代码执行的方法,比较适合异步的程序。
pywin32 主要的作用是方便 Python 开发者快速调用 Windows API的一个模块库。
注意:没这两个库 scrapy 根本安装不上

Linux和Mac系统下安装

pip install scrapy

Windows测试安装

终端输入 scrapy,执行后没有报错即安装成功:

我这里是使用了anaconda的终端来输出的,(因为我也是常使用这个虚拟环境来完成Python的使用的)

Python爬虫 - Scarpy入门学习_数据

第一个scarpy项目(helloworld)

和Python的request库使用一样先分步骤:

scarpy可分为5个步骤:

  • 创建项目
  • 进入项目目录
  • 创建爬虫文件
  • 编写代码
  • 执行项目

创建项目

scrapy startproject project_name

project_name是scarpy项目名称

pycharm中在Python工作目录下创建一个文件夹用来写scarpy

Python爬虫 - Scarpy入门学习_数据_02

输入命令后,看到下面的输出的信息中有

You can start your first spider with

就说明成功创建了scarpy项目

Python爬虫 - Scarpy入门学习_Python_03

Python爬虫 - Scarpy入门学习_Python_04

然后会发现在scarpy文件夹下面出现了一个新的文件夹scarpy_terminal。

Python爬虫 - Scarpy入门学习_数据_05

进入项目目录

cd firstScrapy

创建爬虫文件

scarpy genspider为固定的语法,后面跟着你想爬取的网站

scrapy genspider baiDuwww.baidu.com

编写代码

例如创建一个名称为pachong.py的文件,将在这里编写代码

执行项目

scrapy crawl 文件名.py

查看网站的robots协议

在爬取网站之前建议看一下网站的robots协议,虽然说我现在学的东西和爬的东西应该并不侵犯到或者说并不是恶意爬虫。

在浏览器上面访问一个网站的时候,在网址栏中,在网站的主目录下,后面输入/robots.txt回车后即可查看 该网站的robots协议文件。

Python爬虫 - Scarpy入门学习_数据_06

Python爬虫 - Scarpy入门学习_数据_07

什么是robots协议

Robots协议,也被称为爬虫协议、爬虫规则或机器人协议,
是网站与搜索引擎爬虫之间的一种国际互联网道德规范。
其主要目的是保护网站数据和敏感信息,确保用户个人信息和隐私不被侵犯。
具体来说,一个网站可以通过创建一个名为robots.txt的文件
来设定哪些页面可以抓取,哪些页面不能抓取。
搜索引擎的爬虫会读取这个robots.txt文件以识别并遵守这些抓取规则。
然而,尽管这个协议被称为"robots协议",但它并没有强制执行力,
而只是一种指导性的爬取规则。





































































【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
xWYnr39PTA9E