scrapy框架爬取项目大概思路

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:数据管道(在这里做数据的过滤和持久化)

你可能感兴趣的:(scrapy框架爬取项目大概思路)