首页 > 编程语言 >Python爬虫 - Scarpy入门学习

Python爬虫 - Scarpy入门学习

时间:2023-11-12 21:02:14浏览次数:33  
标签:Python robots 抓取 爬虫 网站 scrapy Scarpy

爬虫的分类

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

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

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

scarpy

定义

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

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

什么是框架?

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

怎么学习框架?

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

安装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入门学习_Python

第一个scarpy项目(helloworld)

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

scarpy可分为5个步骤:

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

创建项目

scrapy startproject firstScrapy

进入项目目录

cd firstScrapy

创建爬虫文件

scrapy genspider baiDuwww.baidu.com

编写代码

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

执行项目

scrapy crawl 文件名.py

查看网站的robots协议

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

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

Python爬虫 - Scarpy入门学习_Python_03

什么是robots协议

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





































































标签:Python,robots,抓取,爬虫,网站,scrapy,Scarpy
From: https://blog.51cto.com/youyeye/8330880

相关文章

  • 如何在 Python 中执行 MySQL 结果限制和分页查询
    PythonMySQL限制结果限制结果数量示例1:获取您自己的Python服务器选择"customers"表中的前5条记录:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="您的用户名",password="您的密码",database="我的数据库"......
  • 如何在 Python 中执行 MySQL 结果限制和分页查询
    PythonMySQL限制结果限制结果数量示例1:获取您自己的Python服务器选择"customers"表中的前5条记录:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="您的用户名",password="您的密码",database="我的数据库"......
  • python3使用pymsql操作mysql数据库
    操作系统:Windows10_x64python版本:3.9.2pymysql版本:1.0.2MySQL版本:5.7.38 之前写过一篇关于python操作mysql数据库的文章:https://www.cnblogs.com/MikeZhang/p/pythonOptMysql20170703.html当时是基于python2.7和mysql5.5来整理的,但目前python2.7已经不再维护,主......
  • python笔记
    python基础来源:b站up“林粒粒呀”《一口气入门Python》1.列表shopping_list=["键盘","鼠标"]#使用append()方法shopping_list.append("显示器")#使用remove()方法(需要删除的元素必须在列表中)shopping_list.remove("鼠标")#列表的索引(从0开始)print(shopping_l......
  • python面试题收集
    1.Python是如何进行内存管理的?答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制一、对象的引用计数机制Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况:1,一个对象分配一个新名称2,将其放入一个容器中(如列......
  • python字符串操作
    python执行python脚本第一行#!/usr/bin/python 只对Linux/Unix用户适用,用来指定本脚本用什么解释器来执行。有这句时,加上执行权限后,可以直接用 ./ 执行,不然会出错,因为找不到python解释器。#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python......
  • vscode python remote debug极速入门
    本文适用范围主要适用于debugpython程序,尤其是深度学习刚入门需要使用remote连接到linux进行程序运行,想调试一下的同学。当然非深度学习也可以参考食用本文哈哈哈。极速入门版提前准备:代码仓库已经拉取到linux上面,且已经知道运行的方式。比如:项目的启动命令为:pythonpret......
  • 爬虫xpath学习及其使用
    xpath可以解析本地的HTML也可以解析服务器的HTML,需要现在浏览安装xpath的扩展程序,然后再编译器安装lxml库   ......
  • python 循环语句应用举例
    Python中的循环语句主要包括for循环和while循环。下面是两个例子,展示如何使用这两种循环。for循环应用:遍历列表中的元素并进行操作。python复制代码#创建一个列表fruits=['apple','banana','cherry','date','elderberry']#使用for循环遍历列表并打印每......
  • python随机抽取数字的方法和代码
    在Python中,我们可以使用内置的random模块来随机抽取数字。下面是一些示例。从一个列表中随机抽取数字如果你有一个数字列表,并且你想从中随机选择一个数字,你可以使用random.choice函数。pythonimportrandomnumbers=[1,2,3,4,5,6,7,8,9,10]chosen_number=rando......