scrapy项目架构与配置文件
scrapy项目架构
-project # 项目名 -project # 跟项目一个名,文件夹 -spiders # spiders:放着爬虫 genspider生成的爬虫,都放在这下面 -__init__.py -chouti.py # 抽屉爬虫 -cnblogs.py # cnblogs 爬虫 -items.py # 类似django中的models.py文件 ,里面写一个个的模型类 -middlewares.py # 中间件(爬虫中间件,下载中间件),中间件写在这 -pipelines.py # 写持久化的地方(持久化到文件,mysql,redis,mongodb) -settings.py # 配置文件 -scrapy.cfg # Scrapy 上线部署时的配置文件
scrapy配置文件
settings.py
# 是否遵循爬虫协议,强行运行 ROBOTSTXT_OBEY = False # 请求头中的USER_AGENT USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36' # 这样配置,程序错误信息才会打印, LOG_LEVEL='ERROR'
爬虫程序文件
class ChoutiSpider(scrapy.Spider): name = 'chouti' # 它是每个爬虫程序唯一的名字,用来区分不同的Spider allowed_domains = ['https://dig.chouti.com/'] # 允许爬取的域名 start_urls = ['https://dig.chouti.com/'] # 起始爬取的位置,爬虫一启动,会先向它发请求 def parse(self, response): # 解析response对象,响应回来自动执行parser,在这个方法中做解析 print('---------------------------',response)