基于python的-scrapy框架的基本用法

# -*- 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文件 数据格式固定

#
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章