scrapy 框架基本使用

Posted jum-bolg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy 框架基本使用相关的知识,希望对你有一定的参考价值。

scrapy简介:
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。
其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试

一.基本使用
1. scrapy startproject 项目名称
- 在当前目录中创建中创建一个项目文件(类似于Django)
-cd 项目名称 进入项目目录

2. scrapy genspider [-t template] <name> <domain>
- 创建爬虫应用
如:
scrapy gensipider -t basic oldboy oldboy.com
scrapy gensipider -t xmlfeed autohome autohome.com.cn
PS:
查看所有命令:scrapy gensipider -l
查看模板命令:scrapy gensipider -d 模板名称

3. scrapy list
- 展示爬虫应用列表

4. scrapy crawl 爬虫应用名称 --nolog
- 运行单独爬虫应用
-----------------------------------------------------
二.项目结构

project_name/
   scrapy.cfg
   project_name/
       __init__.py
       items.py
       pipelines.py
       settings.py
       spiders/
           __init__.py
           爬虫1.py
           爬虫2.py
           爬虫3.py 
  文件说明:
  • scrapy.cfg  项目的主配置信息。(真正爬虫相关的配置信息在settings.py文件中)
  • items.py    设置数据存储模板,用于结构化数据,如:Django的Model
  • pipelines    数据处理行为,如:一般结构化的数据持久化
  • settings.py 配置文件,如:递归的层数、并发数,延迟下载等
  • spiders      爬虫目录,如:创建文件,编写爬虫规则

-----------------------------------------------------------------------------------------------------

三.xpath选择器基本使用

// 子子孙孙
.// 当前子子孙孙
/ 儿子
/div[@id="i1"] 儿子中div标签切id为i1
/div[@id="i1"]/text() 获取某个标签的文本
obj.extract() 列表中每个字符串=》[]
obj.extract.first() 列表中每个字符串=》列表第一个元素

运用url做选择
// a[re:test(@href,"/all/hot/recent/\d+")]/@href

注:可在Chrome浏览器审查元素中,选中并copy xpath
css选择器略...
-------------------------------------------------


四.常用函数
  • Request是一个封装用户请求的类,在回调函数中yield该对象表示继续访问
  • htmlXpathSelector用于结构化HTML代码并提供选择器功能
    •  res = HtmlXpathSelector().select()

以上是关于scrapy 框架基本使用的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫之Scrapy框架,基本介绍使用以及用框架下载图片案例

python爬虫之Scrapy框架,基本介绍使用以及用框架下载图片案例

浅析Scrapy框架运行的基本流程

Python 爬虫-Scrapy框架基本使用

爬虫--Scrapy框架的基本使用

scrapy 框架基本使用