一、 爬虫框架Scrapy
1、 使用python语言开发的爬虫组件,可以方便的从网站爬取需要的网页数据.
2、 可以对网页元素进行解析并获取指定的数据,这些数据可以与实体中的属性进行对应。
3、 Scrapy的构成
(1) 爬虫引擎:用于控制整个爬取的流程
(2) 调度器:将请求爬取的网址排列为一个队列。
(3) 下载器:从请求的网址中下载网页内容
(4) 管道:对爬取的数据进行处理(持久化—保存到文件或者数据库中)
(5) 爬虫组件:爬取网页中需要的数据给item实体对象的属性赋值
二、scrapy的安装
1、再字符界面使用以下命令进行安装
pip install scrapy
使用国内镜像安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy
2、 需要配置scrapy的环境变量,环境变量的配置如下:
3、 再pycharm中安装scrapy
(1) 点击file—settings选择如下图所示选项
点击+号,出现下图所示
点击install package按钮进行安装
安装成功!
三、使用scrapy的创建爬虫项目
1、创建爬虫项目
scrapy startproject 爬虫项目名称
示例如下:创建百度爬虫
Scrapy startproject prjbaiduspider
2、创建爬虫
cd 爬虫工程目录
输入
scrapy genspider 爬虫名称 爬取的域名
注意:爬虫名称不能和工程名称一致,并且,爬虫名称必须是唯一的
示例如下:
!](https://img-blog.csdnimg.cn/20210709114932943.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ4Mjg4MjUx,size_16,color_FFFFFF,t_70#pic_center)
修改爬虫文件 ,指定要爬取的网址
import scrapy
class BaiduspiderSpider(scrapy.Spider):
name = ‘baiduspider’#爬虫名称
allowed_domains = [‘baidu.com’]
start_urls = [‘https://www.baidu.com/’]
def parse(self, response):
print(type(response))
title=response.xpath("//title/text()").get()
print(title)
pass
4、 运行爬虫
Scrapy crawl 爬虫名称
注意:此命令必须再xxx.cfg同级目录下执行
5、 再settings.py文件中将爬取的规则设置为False
Obey robots.txt rules
ROBOTSTXT_OBEY = False