1.创建一个新的Scrapy项目。
创建项目
scrapy startproject 爬虫项目名称
制作爬虫
scrapy genspider 爬虫文件名称
域名:制作爬虫开始爬取网页
明确目标
编写[items.py]:明确你想要抓取的目标
2.到创建的爬虫文件里面(提取目标数据和url,以及域名)
爬虫文件
class ZzwSpider(scrapy.Spider):
# 爬虫文件名称
name = 'zzw'
# allowed_domains:设置域(可以指定多个)
allowed_domains = ['chinaz.com']
# 设置起始的url(可以指定多个)
start_urls = ['http://top.chinaz.com/']
3.到items.py里面编写要爬取的字段
标题
title = scrapy.Field()
创建时间
create_date = scrapy.Field()
4.再到setting.py里面配置文件(设置请求头,下载延时,是否遵守robot协议,激活管道文件)
默认为True,需要我们手动改为False
ROBOTSTXT_OBEY = False
默认请求头
DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8',
'Accept-Language': 'en',
'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36',
}
在这里进行管道文件的激活,管道文件后面跟的数字,表示优先级,数字越小,优先级越高
ITEM_PIPELINES = {
'chinaz.pipelines.ChinazPipeline': 300,
}
两种类型根据需求选择
1.mongodb数据库相关配置
MONGO_HOST = '127.0.0.1'
MONGO_POST = '27017'
MONGO_DB = 'chinaz1805'
2.关于mysql的一些配置信息
MYSQL_HOST = '127.0.0.1'
MYSQL_USER = 'root'
MYSQL_PWD = 'xiaoming'
MYSQL_DB = 'chinaz1805'
MYSQL_CHARSET = 'utf8'
5.pipelines.py:数据管道(在这里做数据的过滤和持久化)
网友评论