1.創(chuàng)建一個(gè)新的Scrapy項(xiàng)目廷痘。
創(chuàng)建項(xiàng)目
scrapy startproject 爬蟲(chóng)項(xiàng)目名稱
制作爬蟲(chóng)
scrapy genspider 爬蟲(chóng)文件名稱
域名:制作爬蟲(chóng)開(kāi)始爬取網(wǎng)頁(yè)
明確目標(biāo)
編寫[items.py]:明確你想要抓取的目標(biāo)
2.到創(chuàng)建的爬蟲(chóng)文件里面(提取目標(biāo)數(shù)據(jù)和url,以及域名)
爬蟲(chóng)文件
class ZzwSpider(scrapy.Spider):
# 爬蟲(chóng)文件名稱
name = 'zzw'
# allowed_domains:設(shè)置域(可以指定多個(gè))
allowed_domains = ['chinaz.com']
# 設(shè)置起始的url(可以指定多個(gè))
start_urls = ['http://top.chinaz.com/']
3.到items.py里面編寫要爬取的字段
標(biāo)題
title = scrapy.Field()
創(chuàng)建時(shí)間
create_date = scrapy.Field()
4.再到setting.py里面配置文件(設(shè)置請(qǐng)求頭,下載延時(shí),是否遵守robot協(xié)議,激活管道文件)
默認(rèn)為True,需要我們手動(dòng)改為False
ROBOTSTXT_OBEY = False
默認(rèn)請(qǐng)求頭
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',
}
在這里進(jìn)行管道文件的激活,管道文件后面跟的數(shù)字,表示優(yōu)先級(jí),數(shù)字越小,優(yōu)先級(jí)越高
ITEM_PIPELINES = {
'chinaz.pipelines.ChinazPipeline': 300,
}
兩種類型根據(jù)需求選擇
1.mongodb數(shù)據(jù)庫(kù)相關(guān)配置
MONGO_HOST = '127.0.0.1'
MONGO_POST = '27017'
MONGO_DB = 'chinaz1805'
2.關(guān)于mysql的一些配置信息
MYSQL_HOST = '127.0.0.1'
MYSQL_USER = 'root'
MYSQL_PWD = 'xiaoming'
MYSQL_DB = 'chinaz1805'
MYSQL_CHARSET = 'utf8'
5.pipelines.py:數(shù)據(jù)管道(在這里做數(shù)據(jù)的過(guò)濾和持久化)