python爬虫(四):scrapy 【1. 快速上手】

中文文档:http://www.scrapyd.cn/doc/

Scrapy是采用Python开发的一个快速、高层次的屏幕抓取和web抓取框架。

什么是爬虫框架?

爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。

爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。

应用Scrapy爬虫框架主要是编写配置型代码

Scrapy也是第三方库,需要安装

anaconda安装scrapy:conda install scrapy

安装完可以用 conda list 查看

scrapy常用命令 说明 格式

startproject 创建一个新工程 scrapy startproject <name> [dir]

genspider 创建一个爬虫 scrapy genspider [options] <name> <domain>

crawl 运行一个爬虫 scrapy crawl <spider>

settings 获得爬虫配置信息 scrapy settings [options]

list 列出工程中所有爬虫 scrapy list

shell 启动URL调试命令行 scrapy shell [url]

新建项目,在D:\pycharm\workspace目录:

scrapy startproject scrapy_demo

生成一个叫demo的爬虫:

cd sciapy_demo

scrapy genspider demo xxx

xxx 是模板中 start_urls 和 allowed_domains 的值

allowed_domains的含义是过滤爬取的域名,不在此范围内的域名就会被过滤,不会进行爬取。

allowed_domains没啥用,注释掉。

spiders目录下就生成了demo.py

打开demo.py,在这里编写爬虫

注释掉allowed_domains,start_urls填写要爬的网页(可以为多个),

我们来爬取 https://python123.io/ws/demo.html

在parse函数里写解析页面的代码,parse有个参数response

response就是爬取start_urls得到的返回值,response.body就是文本内容了

解析:(存储为文件‘demo.html’)

def parse(self, response):

filename = 'demo.html'

with open (filename, 'wb') as f:

f.write(response.body)

运行爬虫:

(crawl 这个 demo.py文件,D:\pycharm\workspace\scrapy_demo>)

scrapy crawl demo

结果:

scrapy爬虫步骤总结:

1. 首先新建项目

scrapy startproject scrapy_demo

2. 生成一个爬虫(爬虫名ant,网址xxx)

cd sciapy_demo

scrapy genspider ant xxx

3. 编写爬虫(/spiders/ant.py)

填url(start_url)

写解析页面(parse函数)

4. 运行爬虫

scrapy crawl demo

目录介绍:

scrapy_demo/ 工程名

scrapy.cfg 向服务器部署Scrapy爬虫的配置文件(不需要配置)

scrapy_demo/ app名,同python

spiders/

demo.py 生成的爬虫模板

__init__ .py 初始化脚本(不用管)

items.py Items代码模板(不用管)

middlewares.py Middlewares代码模板(如果要扩展middleware功能需要修改)

pipelines.py Pipelines代码模板

settings.py scrapy爬虫的配置文件(优化爬虫功能需要改)

猜你喜欢

转载自blog.csdn.net/weixin_42490528/article/details/84925823