# -*- coding:utf-8 -*- # spiders 该文件夹专门存放爬虫文件 # items.py 用于存储爬虫的数据 # middlewares.py 用于处理爬虫前的请求和响应,例如设置headers # pipelines.py 管道文件,在存储爬虫数据以前,会先穿过管道 # settings.py 全局爬虫的配置文件,一般用于设置反反爬虫相关措施,数据库配置 # scrapy.cfg 用于部署爬虫项目到服务器中 # ------------------------------------------------- # 创建爬虫 scrapy genspider 文件名 域名 # 一个项目下可以创建多个爬虫 # ------------------------------------------------- # 爬虫文件: # name = '爬虫名',爬虫名名称必须唯一,一般不要改 # allowed_domains = ['网站域名'] ,爬虫的时候允许爬取的网站域名 # start_urls = ['网址'] ,爬虫默认爬取的第一个网址,一办需要手动重新设置,可以存放多个网址 # def parse(self, response): # def parse 自动从start_urls中下载网址对应的网页,自动调用parse函数,参数后的response就是网页的对象 # ------------------------------------------------- # 运行爬虫文件,在Terminal中输入命令: # scrapy crawl 爬虫名 # ------------------------------------------------- # 创建运行爬虫文件 # from scrapy import cmdline # cmdline.execute(['scrapy', 'crawl', '爬虫名']) # ------------------------------------------------- # 在spiders文件夹中的setting.py中可以更改配置 # 一般有以下的要修改: # 1. # robots.txt 这个文件是一种协议,用于告诉爬虫,哪些网站不能爬 # 例如: http://www.baidu.com/robots.txt # 默认遵守 一般要改为False # Obey robots.txt rules # ROBOTSTXT_OBEY = False # 2. # 爬取数据延迟,默认为0,如果太快会被网站拒绝访问 # DOWNLOAD_DELAY = 0 # 3. # 禁用cookie追踪,减少被发现的概率 # COOKIES_ENABLED = False # 4. # 用于设置哪些middlewares有效 # DOWNLOADER_MIDDLEWARES = { # 'IvskySpider.middlewares.IvskyspiderDownloaderMiddleware': 543, # 543数字表示优先级,越小越先执行,如果填为none 表示不执行 # } # 5. # 哪些PIPELINES可以使用 # ITEM_PIPELINES = { # 'IvskySpider.pipelines.IvskyspiderPipeline': 300, # } # ------------------------------------------------- # 保存数据在 spiders 文件夹下的 item.py 文件中 # 例如: # class ImgInfoItem(scrapy.Item): # """ # item用于组装爬虫数据 # 里面的字段根据实际情况定义即可,一般字段名和变量名保持一致 # # """ # big_title = scrapy.Field() # small_title = scrapy.Field() # thumb_src = scrapy.Field() # thumb_alt = scrapy.Field() # img_detail_src = scrapy.Field() # path = scrapy.Field() # 保存成这两种数据形式都可以 # .csv文件 容易产生乱码 # .json文件 数据格式固定 #
基于python的-scrapy框架的基本用法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.