scrapy_基本使用
创始人
2024-03-29 23:58:40
0

1.介绍

     Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。

2.安装scrapy

第一步:pip install scrapy


安装过程中出错:

如果 pip install Scrapy有错误
(1)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‐cp36‐cp36m‐win_amd64.whl),cp后面是 python版本,amd64代表64位,然后运行命令:
pip install C:\Users\...\Twisted‐17.5.0‐cp36‐cp36m‐win_amd64.whl
再重新输入: pip install Scrapy


(2)如果再报错
输入 :python ‐m pip install ‐‐upgrade pip


如果再报错 win32 解决方法:
输入:pip install pypiwin32


(3)再报错:使用anaconda
使用步骤:

  • 打开anaconda
  • 点击environments
  • 点击not installed
  • 输入scrapy
  • apply
  • 在pycharm中选择anaconda的环境

3.项目创建

在终端中输入 scrapy startproject 项目名称

注:项目名字不允许数字开头,也不能包含中文

4.项目组成

spiders目录下的文件:

  •    __init__.py     自定义的爬虫文件.py   由我们自己创建,是实现爬虫核心功能的文件
  • __init__.py
  • items.py          定义数据结构的地方,是一个继承自scrapy.Item的类
  • middlewares.py    中间件 代理
  • pipelines.py    管道文件,里面只有一个类,用于处理下载数据的后续处理,默认是300优先级,值越小优先级越高(1‐1000)
  • settings.py      配置文件 比如:是否遵守robots协议,User‐Agent定义等 ,robots协议会使爬取不到数据所以,最好不开启

 5.创建爬虫文件

在spiders目录中创建爬虫文件

  1. cd 项目名称\项目名称\spiders
  2. scrapy genspider 爬虫文件名 要爬取的网页

6.运行爬虫

scrapy crawl 爬虫名字

注:要在spiders文件中执行

 7.爬虫文件的基本组成

class BaiduSpider(scrapy.Spider):# 爬虫的名字 用于运行爬虫使用的值name = 'baidu'#允许访问的域名allowed_domains = ['baidu.com']#起始url地址指的是第一次要访问的域名,在爬取的时候,如果不是此域名之下的
url,会被过滤掉,如果是html结尾的最后斜杠不要,不然会访问不到start_urls = ['http://baidu.com/']def parse(self, response):print('hhhhhhhhhhh')

 8.常用方法

text响应的是字符串
body 响应的是二进制文件
xpath()返回的值类型是selector列表
extract() 提取的是selector对象的data
extract_first()提取的是selector列表中的第一个数据

9.scrapy工作原理

    spiders先发送url给引擎,引擎继续发送url给调度器,调度器在打出个请求,之后下载器向互联网发送请求下载数据,下载器下完数据(response)后发送给spiders通过xpath解析数据,解析结果交由引擎判断如果是数据就给管道存到文件或者数据库,如果是url就给调度器继续执行以上操作。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...