1、爬虫框架:
scrapy(主要) +pyspider(一般)
2、什么是框架?如何学习框架?
①一个集成了各种功能且具有很强通用型(可以被应用在各种不同
需求中)的一个 项目模板
②初级学习如何使用即可
3、集成了哪些功能:
高效能的数据解析操作,持久化的存储,高效能的数据下载操作...
4、环境安装
注:scrapy的异步是借助于Twisted实现的,
所以需要提前下载安装Twisted
windows:
①pip install wheel
②下载twisted http://www.ifd.uci.edu/~gohlke/pythonlibs/#twisted
-下载一个twisted文件
③进入下载目录:执行pip3 install Twisted-17.1.0-cp35-cp35m-win_am64.whl
④pip3 install pywin32
⑤pip3 install scrapy
mac系统直接:
pip3 install scrapy
5、scrapy的基本基本使用
①创建一个工程: scrapy startproject 工程名(如firstblood)
创建工程后,firstblood下有6个文件:
其中spiders -爬虫目录文件
settings.py 设置文件(主要设置UA伪装,日志显示,遵
循的Robots协议等)
②必须在spider这个爬虫目录下创建一个爬虫文件
-cd proname(工程名称) 先进入到工程中
eg: cd firstblood
-scrapy genspider (爬虫文件名)spidername www.xxx.xom
5-1 爬虫文件详解:
import scrapy
# 子类 父类
class FirstSpider(scrapy.Spider):
#爬虫文件名称:爬虫文件的唯一标识(在spider子目录下可以
#创建多个爬虫文件)
name=' first'
allowed_domains=['xxx','xxx'] # 允许的域名
#起始的url列表,列表中存放的url会被scrapy自动进行请求发送
start_urls=['xxx','xxx','xxx','...']
#用于数据解析,将start_urls列表中对应的url请求成功后的
#相应数据进行解析
def parse(self,response):
pass
6、执行工程(注:在终端执行):
- scrapy crawl 工程名(如first)
6-1 程序不报错时,不要输出日志:
scrapy crawl first --nolog
6-2 settings.py 文件设置详解:
1、UA伪装:
User_Agent= ' xxx'
2、robots协议:
ROBOTSTXT_OBEY= False
(true 遵从,false 不遵从)
3、代码出错时,会以日志的形式报错
LOG_LEVEL= "ERROR"
只有当程序报错时,将错误日志输出