赞
踩
Scrapy框架官方网址:http://doc.scrapy.org/en/latest
Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。
用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。
Scrapy 使用了 Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。、
先安装各种依赖包,前提已经安装python3.7,进入windows cmd
1.安装wheel包,pip install wheel(在官网下载wheel文件)
2.安装Twisted,进入网址:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
滑下去找T开头的,找到对应版本号的twisted,我的python是3.7的就是下面这个,37是版本号,64是window64位
不知道自己版本号的输入python --version查看
然后在命令窗口输入你下载的路径加文件名,pip install D:\pycharm\twisted\Twisted-20.3.0-cp37-cp37m-win_amd64.whl
3.安装lxml包,pip install lxml
4.安装Pyopensssl,pip install pyopenssl(在官网下载wheel文件)
5.下载好之后正式下载scrapy,pip install scrapy
6.验证是否下载成功,scrapy -h
CMD进入命令行,直接输入conda install scrapy,然后就等着点“y”
打开命令窗口,创建爬虫项目文件夹
输入:scrapy startproject tutorial 即可创建一个tutorial文件夹
文件夹目录如下:
|-tutorial
|-scrapy.cfg
|-init.py
|-items.py
|-middlewares.py
|-pipelines.py
|-settings.py
|-spiders
|-init.py
文件的功能:
scrapy.cfg:配置文件
spiders:存放你Spider文件,也就是你爬取的py文件
items.py:相当于一个容器,和字典较像
middlewares.py:定义Downloader Middlewares(下载器中间件)和Spider Middlewares(蜘蛛中间件)的实现
pipelines.py:定义Item Pipeline的实现,实现数据的清洗,储存,验证。
settings.py:全局配置
创建一个spider(自己定义的爬虫文件)
命令窗口
scrapy genspider 爬虫名 爬取范围域名
例如scrapy genspider zhihu zhihu.com
完善爬虫
start_url地址对应的响应交给parse函数处理,parse函数名不能修改
提取数据,response.xpath结果是包含selector对象的列表
extract 把列表中的selector对象转化为字符串, 如果没有则为空列表
extract_first()获取列表中第一个数据转化为字符串,没有就是none值
yield 把数据传递给管道
管道的注意点
管道的使用需要在settings中开启
键是管道的位置
管道距离引擎的远近,越小越近,数据越先经过
log的使用
在settings中设置log的级别,添加一行(大写):LOG_LEVEL=“WARNING”,默认终端显示的是debug级别的log信息
log的最低级别。可选的级别有: CRITICAL、 ERROR、WARNING、INFO、DEBUG 。
LOG_FILE 是日志保存的位置,设置之后终端不会有日志输出
LOG_FILE=’./a.log’ # 设置日志保存的位置,设置后,后端不会显示日志内容
普通项目中使用log
import logging
logging.basicConfig() # 设置日志输出的样式 格式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。