基於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文件 數據格式固定

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