说明:
仅为学习时简略笔记,详见菜鸟教程
Scrapy 入门教程 | 菜鸟教程 (runoob.com)https://www.runoob.com/w3cnote/scrapy-detail.html
一:安装
法1(先尝试下):
pip install scrapy
*此方法经常出错
法2(通过Anaconda安装(简单):
下载链接:Anaconda | Individual Editionhttps://www.anaconda.com/download/
1. 下载完成傻瓜式安装(可更改路径)
2. 配置Anaconda环境变量
此电脑——>属性——>高级系统设置——>环境变量——>path——>编辑——>新建——>浏览——>选择添加安装路径(如下图)
3. 验证是否安装成功
win+r ==>输入cmd回车,输入以下代码
conda --v
如果出现如下图,则安装成功
4. 安装Scrapy(cmd)
conda install scrapy
5. 检验scrapy是否安装成功(cmd)
scrapy
出现如图即安装成功
二: Scrapy入门使用
1. 打开要存放的文件夹,如桌面新建文件夹"test"
2. cmd进入该文件夹,输入
scrapy startproject 项目名
此时test文件夹会出现一个testSpider文件夹
3. (cmd)
cd testSpider
cd testSpider
cd spiders
scrapy genspiders 爬虫名字 域名
4. 在pycharm打开整个项目文件
5. 更改默认配置:
1. settings.py
# 更改为
ROBOTSTXT_OBEY = False
6. 开始写代码(在spiders/baidu.py)
import scrapy
class BaiduSpider(scrapy.Spider):
name = 'baidu' # 爬虫的识别名称,必须是唯一的,在不同的爬虫必须定义不同的名字
allowed_domains = ['baidu.com'] # 搜索的域名范围,也就是爬虫的约束区域,规定爬虫只爬取这个域名下的网页,不存在的URL会被忽略
start_urls = ['http://baidu.com/'] # 爬取的URL元祖/列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些urls开始。其他子URL将会从这些起始URL中继承性生成
def parse(self, response):
"""
**parse(self, response) :解析的方法,每个初始URL完成下载后将被调用,调用的时候传入从每一个URL传回的Response对象来作为唯一参数,主要作用如下:
*负责解析返回的网页数据(response.body),提取结构化数据(生成item)
*生成需要下一页的URL请求。
*将start_urls的值修改为需要爬取的第一个url
"""
print(response.body)
# 这里进行处理数据等操作
7.运行爬虫(cmd/pycharm下的terminal)
进入项目文件夹
scrapy crawl 爬虫名字
可以看到爬虫文件打印的response.body
完。