网络爬虫笔记(Day9)——初识Scrapy

爬虫步骤:

  1. 分析需求
  2. 获取网页的URL
  3. 下载网页内容(Downloader下载器)
  4. 定位元素位置, 获取特定的信息(Spiders 蜘蛛)
  5. 存储信息(ItemPipeline, 一条一条从管里传输)
  6. 队列存储(Scheduler 调度器)

Scrapy:

学习文档:https://scrapy-chs.readthedocs.io/zh_CN/0.24/index.html

网络爬虫笔记(Day9)——初识Scrapy_第1张图片

  • 首先, Spiders 给我们一个初始的URL,  Spider获取列表页内的详情页的URL.
  • 其次, 将URL 存储到Scheduler内, 然后 Scheduler 就会自动将URL放到Downloader内执行,详情页Download之后, 返回response给Spiders.
  • 再次, Spiders会将response获取到并且查找需要的内容, 内容进行封装item.
  • 最后, 这个item就会被传输到ItemPipeline中, 存储或者其他操作

安装scrapy的方法:

方法1:

# 由于scrapy需要依赖wheel和Twisted这两个包,故需要先按装好再去安装scrapy

pip install wheel

pip install 你的路径/Twisted-18.7.0-cp35-cp35m-win_amd64.whl

pip install scrapy

.方法2:

如果是Anaconda环境,可以直接使用:

conda install scrapy

创建项目:

scrapy startproject 项目名称(scrapy_project)


# 创建spider

cd 项目目录(scrapy_project)

scrapy genspider name xxx.com
# 例如 scrapy genspider baidu baidu.com

运行:

运行, 创建一个.py文件例如(main.py):

main.py

from scrapy.cmdline import execute

execute('scrapy crawl baidu'.split())   # name=baidu

整个目录结构如下:

网络爬虫笔记(Day9)——初识Scrapy_第2张图片

如果直接爬取拿不到数据,就去setting.py下加入全局请求报文,将DEFAULT_REQUEST_HEADERS 注释打开,加入报文。

网络爬虫笔记(Day9)——初识Scrapy_第3张图片

你可能感兴趣的:(网络爬虫)