scrapy安装步骤_linux下安装scrapy

scrapy安装步骤_linux下安装scrapy1、Scrapy是什么Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。2、scrapy安装安装过程中出错:如果安装出现一下错误building‘twisted.test.raiser’extensionerror:MicrosoftVisualC++14.0isrequired.Getitwith“MicrosoftVisualC++BuildTools”:http://l

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、Scrapy是什么
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理
或存储历史数据等一系列的程序中。
2、scrapy安装
在这里插入图片描述
安装过程中出错:
如果安装出现一下错误
building ‘twisted.test.raiser’ extension
error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++
Build Tools”: http://landinghub.visualstudio.com/visual‐cpp‐build‐tools

解决方案:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
下载twisted对应版本的whl文件(如我的Twisted‐17.5.0‐cp37‐cp37m‐win_amd64.whl),cp后面是
python版本,amd64代表64位,运行命令:
pip install C:\Users…\Twisted‐17.5.0‐cp37‐cp37m‐win_amd64.whl
pip install scrapy

3、scrapy项目的创建以及运行
3.1scrapy项目的创建
在pycharm终端通过cd命令进入创建项目路径下的文件夹,然后创建一个名为spider_baidu项目(注意:项目名称的定义务必不出现中文)。

创建项目步骤如下图所示:
在这里插入图片描述
创建成功后该项目忽然多了5个python文件,如图所示:
You can start your first spider with:
cd spider_baidu
scrapy genspider example example.com
在这里插入图片描述
因此该项目(spider_baidu)组成:
spider_baidu
init.py
自定义的爬虫文件.py ‐‐‐》 由我们自己创建,是实现爬虫核心功能的文件
init.py items.py ‐‐‐》定义数据结构的地方,是一个继承自scrapy.Item的类
middlewares.py ‐‐‐》中间件 代理
pipelines.py ‐‐‐》管道文件,里面只有一个类,用于处理下载数据的后续处理默认是300优先级,值越小优先级越高(1‐1000)
settings.py ‐‐‐》配置文件 比如:是否遵守robots协议,User‐Agent定义等

4.创建爬虫文件:
(1)进入到spiders文件夹
cd 目录名字/目录名字/spiders
(2)scrapy genspider 爬虫名字 网页的域名
现以百度网站为例:
eg:scrapy genspider baidu https://www.baidu.com/
在这里插入图片描述
spider文件目录下出现baidu.py文件,点击后可以看到自动生成内容:
baidu.py爬虫文件的基本组成:
继承scrapy.Spider类
name = ‘baidu’ ‐‐‐》 运行爬虫文件时使用的名字
allowed_domains ‐‐‐》 爬虫允许的域名,在爬取的时候,如果不是此域名之下的url,会被过滤掉
start_urls ‐‐‐》 声明了爬虫的起始地址,可以写多个url,一般是一个
parse(self, response) ‐‐‐》解析数据的回调函数
5.运行爬虫文件:
scrapy crawl 爬虫名称
eg:scrapy crawl baidu
在这里插入图片描述
以上出现报错,只需在settings.py文件把ROBOTSTXT_OBEY = True注释掉再运行即可

在这里插入图片描述

再运行之后,如下图所示:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193742.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月19日 下午3:22
下一篇 2025年11月19日 下午4:01


相关推荐

  • C++实现字符串分割函数split()「建议收藏」

    C++实现字符串分割函数split()「建议收藏」目录使用strtok()完成分割使用strsep()完成分割使用strtok_r()完成分割实现字符串分割前言最近遇到了一个字符串分割的问题,在C++的标准库里面没有字符分割函数split()。我想这个问题今后可能还会再遇见,所以使用C/C++中的字符串分割方法完成相应的功能。需求:对一个字符串进行分割,然后将分割后的数据存起来,想用的时候像用数组那样拿就行了。所以在完…

    2022年6月3日
    43
  • Linux零拷贝_Linux开发教程

    Linux零拷贝_Linux开发教程引言传统的Linux操作系统的标准I/O接口是基于数据拷贝操作的,即I/O操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘I/O的操作,因为如果所请求的数据已经存放在操作系统的高速缓冲存储器中,那么就不需要再进行实际的物理磁盘I/O操作。但是数据传输过程中的数据拷贝操作却导致了极大的CPU开销,限

    2025年11月26日
    4
  • 关于机械臂的模仿学习

    关于机械臂的模仿学习文章目录1.关键词2.数据集3.框架4.大会/论坛5.相关论文1.关键词模仿学习:Imitationlearning2.数据集图像识别领域的数据集:ImageNet目标检测的数据集:COCO机器问答的数据集:SQuAD3.框架斯坦福的李飞飞实验室,开源了分布式强化学习训练框架SURREAL,用来加速学习过程。团队还发现,用SURREAL框架搭配上文的RoboTurk…

    2026年1月23日
    2
  • servlet和jsp的区别_获取servletcontext

    servlet和jsp的区别_获取servletcontext关于serveletContext.getRealPath()方法1.关于request.getRealPath问题:Stringfilename=request.getRealPath(filename)——————-信息:warning:[deprecation]getRealPath(java.lang.String)in

    2026年1月23日
    3
  • qt realease版本运行错误(qt发布release版本)

    1、在QtCreator下用release跑一遍程序,生成相应的EXE文件;2、在QtCreator下编译好的release下的ImageProcesser.exe拷贝到一个文件夹下面;3、在 ImageProcesser.exe文件路径下,输入cmd可弹出命令行窗口;4、在命令行模式下输入windeployqtImageProcessor.exe,按下回车键后会将…

    2022年4月18日
    250
  • pool2_commons pool

    pool2_commons pool一次服务上线没多久,页面处于刷新状态,系统发生假死,查看后台日志,并未发现任何的异常信息,在请求接口处增加debug日志后发现,程序在执行到数据库查询相关的地方卡死了。怀疑是数据库连接的问题,但是使用Navicat连接数据库正常。通过jstack导出线程快照发现,jstack<pid>>>jstack.log大量处于WAITTING状态的线程,而这些线程都是在调用borrowObject方法,这个是apachecommon…

    2026年1月23日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号