*** scrapy是一个成熟的爬虫框架,刚跟着B站大学开始学,写篇文章当作笔记***
具体安装的话参照其他大佬的博客即可(我也是看大佬的博客安装的)
scrapy的基本组件
1.引擎
2.调度器:接收从引擎发送过来的url 完成入列操作
3.管道:数据处理(存储数据)
4.爬虫程序:完成数据解析
5.下载downloader:发送请求 获取响应
6.下载中间件:位于引擎和下载器之间 用来处理引擎和下载 器之间的请求和响应
7.爬虫中间件:位于引擎和爬虫程序之间
scrapy工程的创建
*** scrapy的创建不同于我们平时普通工程的创建,scrapy工程的创建只能在命令行中创建,如 cmd 或者安装的 cmder ,或者在pycharm 的 terminal 中也可以,这里我也是咋iterminal中创建,就像下面的图
先 cd 到想要创建工程的目录下
然后再这个目录下输入如下命令
scrapy startproject myspyder
# 其中,scrapy startproject 为固定格式,后接工程名,我的命名为myspyder
成功后再当前目录下将会生成如下文件,也做一下说明
item.py 用于数据封装处理
middlewares.py 相当于爬虫中间件和下载中间间
pipelines.py 管道文件 负责保存数据
settings.py 配置文件
到这里,工程就创建成功了
创建爬虫程序
同样,再当前目录下,在 terminal 中输入如下命令创建一个爬虫程序
scrapy genspider example example.com
# example 是所需创建的爬虫程序的名字
# example.com 是可以允许爬取的范围 比如 baidu.com
创建成功后会生成如下文件
点击打开,里面已经帮我们写好了一些代码,我也注释一下
import scrapy
# 继承了scrapy.Spider
class ExampleSpider(scrapy.Spider):
# name 是所创建的程序名
name = 'example'
# allowed_domains 是可以允许爬取的范围 并且可以修改
# 在实际爬虫时可能会碰到一个问题,当列表中有很多url时 第一页的网址为 xxx.com 而第二页会变成 xxx.cn
allowed_domains = ['example.com']
# 起始 url 同样可以修改 ,生成的格式为http,但是下载很多网站都是https,需要自己修改
start_urls = ['http://example.com/']
# 用于解析数据的函数,需要我们重新写
def parse(self, response):
pass
这篇文章也差不多了,后期继续更新,这只是简单的创建工程和程序,要走的陆还很长,但是头发已经不多了