Trị liệu - Cài đặt
Sự miêu tả
Hành vi của các thành phần Scrapy có thể được sửa đổi bằng cách sử dụng cài đặt Scrapy. Cài đặt cũng có thể chọn dự án Trị liệu hiện đang hoạt động, trong trường hợp bạn có nhiều dự án Trị liệu.
Chỉ định cài đặt
Bạn phải thông báo cho Scrapy mà bạn đang sử dụng cài đặt nào khi quét một trang web. Đối với điều này, biến môi trườngSCRAPY_SETTINGS_MODULE nên được sử dụng và giá trị của nó phải theo cú pháp đường dẫn Python.
Điền các Cài đặt
Bảng sau đây cho thấy một số cơ chế mà bạn có thể điền các cài đặt -
Sr.No | Cơ chế & Mô tả |
---|---|
1 | Command line options Ở đây, các đối số được truyền được ưu tiên cao nhất bằng cách ghi đè các tùy chọn khác. -S được sử dụng để ghi đè một hoặc nhiều cài đặt. |
2 | Settings per-spider Spider có thể có các cài đặt riêng ghi đè các cài đặt của dự án bằng cách sử dụng thuộc tính custom_settings. |
3 | Project settings module Tại đây, bạn có thể điền cài đặt tùy chỉnh của mình, chẳng hạn như thêm hoặc sửa đổi cài đặt trong tệp settings.py. |
4 | Default settings per-command Mỗi lệnh của công cụ Scrapy xác định cài đặt riêng của nó trong thuộc tính default_settings, để ghi đè cài đặt mặc định chung. |
5 | Default global settings Các cài đặt này được tìm thấy trong mô-đun scrapy.settings.default_settings. |
Truy cập Cài đặt
Chúng có sẵn thông qua self.settings và được đặt trong spider cơ sở sau khi nó được khởi tạo.
Ví dụ sau đây chứng minh điều này.
class DemoSpider(scrapy.Spider):
name = 'demo'
start_urls = ['http://example.com']
def parse(self, response):
print("Existing settings: %s" % self.settings.attributes.keys())
Để sử dụng cài đặt trước khi khởi chạy trình thu thập dữ liệu, bạn phải ghi đè phương thức from_crawler trong phương thức _init_ () của trình thu thập dữ liệu của bạn. Bạn có thể truy cập cài đặt thông qua thuộc tính scrapy.crawler.Crawler.settings được chuyển tới phương thức from_crawler .
Ví dụ sau đây chứng minh điều này.
class MyExtension(object):
def __init__(self, log_is_enabled = False):
if log_is_enabled:
print("Enabled log")
@classmethod
def from_crawler(cls, crawler):
settings = crawler.settings
return cls(settings.getbool('LOG_ENABLED'))
Cơ sở lý luận để đặt tên
Tên cài đặt được thêm làm tiền tố cho thành phần mà chúng định cấu hình. Ví dụ: đối với tiện ích mở rộng robots.txt, tên cài đặt có thể là ROBOTSTXT_ENABLED, ROBOTSTXT_OBEY, ROBOTSTXT_CACHEDIR, v.v.
Tham chiếu cài đặt tích hợp
Bảng sau đây cho thấy các cài đặt tích hợp của Scrapy:
Sr.No | Cài đặt & Mô tả |
---|---|
1 | AWS_ACCESS_KEY_ID Nó được sử dụng để truy cập Dịch vụ Web của Amazon. Giá trị mặc định: Không có |
2 | AWS_SECRET_ACCESS_KEY Nó được sử dụng để truy cập Dịch vụ Web của Amazon. Giá trị mặc định: Không có |
3 | BOT_NAME Nó là tên của bot có thể được sử dụng để xây dựng User-Agent. Giá trị mặc định: 'scrapybot' |
4 | CONCURRENT_ITEMS Số lượng mặt hàng hiện có tối đa trong Bộ xử lý mặt hàng được sử dụng để xử lý song song. Giá trị mặc định: 100 |
5 | CONCURRENT_REQUESTS Số lượng yêu cầu hiện có tối đa mà trình tải xuống Scrapy thực hiện. Giá trị mặc định: 16 |
6 | CONCURRENT_REQUESTS_PER_DOMAIN Số lượng yêu cầu hiện tại tối đa thực hiện đồng thời cho bất kỳ miền đơn lẻ nào. Giá trị mặc định: 8 |
7 | CONCURRENT_REQUESTS_PER_IP Số lượng yêu cầu hiện có tối đa thực hiện đồng thời cho bất kỳ IP đơn lẻ nào. Giá trị mặc định: 0 |
số 8 | DEFAULT_ITEM_CLASS Nó là một lớp được sử dụng để đại diện cho các mục. Giá trị mặc định: 'scrapy.item.Item' |
9 | DEFAULT_REQUEST_HEADERS Nó là một tiêu đề mặc định được sử dụng cho các yêu cầu HTTP của Scrapy. Giá trị mặc định - |
10 | DEPTH_LIMIT Độ sâu tối đa để một con nhện có thể thu thập dữ liệu bất kỳ trang web nào. Giá trị mặc định: 0 |
11 | DEPTH_PRIORITY Nó là một số nguyên được sử dụng để thay đổi mức độ ưu tiên của yêu cầu theo độ sâu. Giá trị mặc định: 0 |
12 | DEPTH_STATS Nó cho biết có thu thập số liệu thống kê về độ sâu hay không. Giá trị mặc định: Đúng |
13 | DEPTH_STATS_VERBOSE Cài đặt này khi được bật, số lượng yêu cầu được thu thập theo thống kê cho từng độ sâu chi tiết. Giá trị mặc định: Sai |
14 | DNSCACHE_ENABLED Nó được sử dụng để kích hoạt DNS trong bộ nhớ cache. Giá trị mặc định: Đúng |
15 | DNSCACHE_SIZE Nó xác định kích thước của DNS trong bộ nhớ đệm. Giá trị mặc định: 10000 |
16 | DNS_TIMEOUT Nó được sử dụng để đặt thời gian chờ cho DNS xử lý các truy vấn. Giá trị mặc định: 60 |
17 | DOWNLOADER Nó là một trình tải xuống được sử dụng cho quá trình thu thập thông tin. Giá trị mặc định: 'scrapy.core.downloader.Downloader' |
18 | DOWNLOADER_MIDDLEWARES Nó là một từ điển chứa phần mềm trung gian của trình tải xuống và đơn đặt hàng của họ. Giá trị mặc định: {} |
19 | DOWNLOADER_MIDDLEWARES_BASE Nó là một phần mềm trung gian của trình tải xuống từ điển được kích hoạt theo mặc định. Giá trị mặc định - |
20 | DOWNLOADER_STATS Cài đặt này được sử dụng để kích hoạt số liệu thống kê của trình tải xuống. Giá trị mặc định: Đúng |
21 | DOWNLOAD_DELAY Nó xác định tổng thời gian cho trình tải xuống trước khi tải xuống các trang từ trang web. Giá trị mặc định: 0 |
22 | DOWNLOAD_HANDLERS Nó là một từ điển với trình xử lý tải xuống. Giá trị mặc định: {} |
23 | DOWNLOAD_HANDLERS_BASE Nó là một từ điển có trình xử lý tải xuống được bật theo mặc định. Giá trị mặc định - |
24 | DOWNLOAD_TIMEOUT Đó là tổng thời gian để người tải xuống đợi trước khi hết thời gian. Giá trị mặc định: 180 |
25 | DOWNLOAD_MAXSIZE Đây là kích thước phản hồi tối đa để trình tải xuống tải xuống. Giá trị mặc định: 1073741824 (1024MB) |
26 | DOWNLOAD_WARNSIZE Nó xác định kích thước phản hồi để người tải xuống cảnh báo. Giá trị mặc định: 33554432 (32MB) |
27 | DUPEFILTER_CLASS Nó là một lớp được sử dụng để phát hiện và lọc các yêu cầu trùng lặp. Giá trị mặc định: 'scrapy.dupefilters.RFPDupeFilter' |
28 | DUPEFILTER_DEBUG Cài đặt này ghi lại tất cả các bộ lọc trùng lặp khi được đặt thành true. Giá trị mặc định: Sai |
29 | EDITOR Nó được sử dụng để chỉnh sửa các trình thu thập thông tin bằng cách sử dụng lệnh chỉnh sửa. Giá trị mặc định: Phụ thuộc vào môi trường |
30 | EXTENSIONS Nó là một từ điển có phần mở rộng được kích hoạt trong dự án. Giá trị mặc định: {} |
31 | EXTENSIONS_BASE Nó là một từ điển có phần mở rộng được tích hợp sẵn. Giá trị mặc định: {'scrapy.extensions.corestats.CoreStats': 0,} |
32 | FEED_TEMPDIR Đây là một thư mục được sử dụng để đặt thư mục tùy chỉnh nơi các tệp tạm thời của trình thu thập thông tin có thể được lưu trữ. |
33 | ITEM_PIPELINES Nó là một từ điển có đường ống. Giá trị mặc định: {} |
34 | LOG_ENABLED Nó xác định xem có bật ghi nhật ký hay không. Giá trị mặc định: Đúng |
35 | LOG_ENCODING Nó xác định loại mã hóa được sử dụng để ghi nhật ký. Giá trị mặc định: 'utf-8' |
36 | LOG_FILE Nó là tên của tệp được sử dụng cho đầu ra của ghi nhật ký. Giá trị mặc định: Không có |
37 | LOG_FORMAT Nó là một chuỗi sử dụng mà các thông điệp nhật ký có thể được định dạng. Giá trị mặc định: '% (asctime) s [% (name) s]% (levelname) s:% (message) s' |
38 | LOG_DATEFORMAT Nó là một chuỗi sử dụng ngày / giờ có thể được định dạng. Giá trị mặc định: '% Y-% m-% d% H:% M:% S' |
39 | LOG_LEVEL Nó xác định mức nhật ký tối thiểu. Giá trị mặc định: 'DEBUG' |
40 | LOG_STDOUT Cài đặt này nếu được đặt thành true, tất cả đầu ra quy trình của bạn sẽ xuất hiện trong nhật ký. Giá trị mặc định: Sai |
41 | MEMDEBUG_ENABLED Nó xác định xem có nên bật gỡ lỗi bộ nhớ hay không. Giá trị mặc định: Sai |
42 | MEMDEBUG_NOTIFY Nó xác định báo cáo bộ nhớ được gửi đến một địa chỉ cụ thể khi gỡ lỗi bộ nhớ được kích hoạt. Giá trị mặc định: [] |
43 | MEMUSAGE_ENABLED Nó xác định xem việc sử dụng bộ nhớ có được bật hay không khi quá trình Scrapy vượt quá giới hạn bộ nhớ. Giá trị mặc định: Sai |
44 | MEMUSAGE_LIMIT_MB Nó xác định giới hạn tối đa cho phép của bộ nhớ (tính bằng megabyte). Giá trị mặc định: 0 |
45 | MEMUSAGE_CHECK_INTERVAL_SECONDS Nó được sử dụng để kiểm tra việc sử dụng bộ nhớ hiện tại bằng cách đặt độ dài của các khoảng thời gian. Giá trị mặc định: 60.0 |
46 | MEMUSAGE_NOTIFY_MAIL Nó được sử dụng để thông báo với một danh sách các email khi bộ nhớ đạt đến giới hạn. Giá trị mặc định: Sai |
47 | MEMUSAGE_REPORT Nó xác định nếu báo cáo sử dụng bộ nhớ sẽ được gửi khi đóng mỗi con nhện. Giá trị mặc định: Sai |
48 | MEMUSAGE_WARNING_MB Nó xác định tổng bộ nhớ được phép trước khi cảnh báo được gửi đi. Giá trị mặc định: 0 |
49 | NEWSPIDER_MODULE Nó là một mô-đun nơi một con nhện mới được tạo bằng lệnh genspider. Giá trị mặc định: '' |
50 | RANDOMIZE_DOWNLOAD_DELAY Nó xác định một khoảng thời gian ngẫu nhiên để Scrapy đợi trong khi tải các yêu cầu từ trang web. Giá trị mặc định: Đúng |
51 | REACTOR_THREADPOOL_MAXSIZE Nó xác định kích thước tối đa cho threadpool của lò phản ứng. Giá trị mặc định: 10 |
52 | REDIRECT_MAX_TIMES Nó xác định số lần một yêu cầu có thể được chuyển hướng. Giá trị mặc định: 20 |
53 | REDIRECT_PRIORITY_ADJUST Cài đặt này khi được đặt sẽ điều chỉnh mức độ ưu tiên chuyển hướng của một yêu cầu. Giá trị mặc định: +2 |
54 | RETRY_PRIORITY_ADJUST Cài đặt này khi được đặt, sẽ điều chỉnh mức độ ưu tiên thử lại của một yêu cầu. Giá trị mặc định: -1 |
55 | ROBOTSTXT_OBEY Scrapy tuân theo chính sách robots.txt khi được đặt thành true . Giá trị mặc định: Sai |
56 | SCHEDULER Nó xác định bộ lập lịch được sử dụng cho mục đích thu thập thông tin. Giá trị mặc định: 'scrapy.core.scheduler.Scheduler' |
57 | SPIDER_CONTRACTS Nó là một từ điển trong dự án có hợp đồng nhện để kiểm tra nhện. Giá trị mặc định: {} |
58 | SPIDER_CONTRACTS_BASE Nó là một từ điển chứa các hợp đồng Scrapy được kích hoạt trong Scrapy theo mặc định. Giá trị mặc định - |
59 | SPIDER_LOADER_CLASS Nó định nghĩa một lớp thực hiện API SpiderLoader để tải các trình thu thập thông tin. Giá trị mặc định: 'scrapy.spiderloader.SpiderLoader' |
60 | SPIDER_MIDDLEWARES Nó là một từ điển chứa phần mềm trung gian nhện. Giá trị mặc định: {} |
61 | SPIDER_MIDDLEWARES_BASE Nó là một từ điển chứa phần mềm trung gian spider được bật trong Scrapy theo mặc định. Giá trị mặc định - |
62 | SPIDER_MODULES Đây là danh sách các mô-đun chứa các trình thu thập dữ liệu mà Scrapy sẽ tìm kiếm. Giá trị mặc định: [] |
63 | STATS_CLASS Nó là một lớp triển khai API Bộ thu thập số liệu thống kê để thu thập số liệu thống kê. Giá trị mặc định: 'scrapy.statscollectors.MemoryStatsCollector' |
64 | STATS_DUMP Cài đặt này khi được đặt thành true, kết xuất số liệu thống kê vào nhật ký. Giá trị mặc định: Đúng |
65 | STATSMAILER_RCPTS Khi nhện hoàn thành việc cạo, Scrapy sử dụng cài đặt này để gửi số liệu thống kê. Giá trị mặc định: [] |
66 | TELNETCONSOLE_ENABLED Nó xác định có bật telnetconsole hay không. Giá trị mặc định: Đúng |
67 | TELNETCONSOLE_PORT Nó định nghĩa một cổng cho bảng điều khiển telnet. Giá trị mặc định: [6023, 6073] |
68 | TEMPLATES_DIR Nó là một thư mục chứa các mẫu có thể được sử dụng trong khi tạo các dự án mới. Giá trị mặc định: thư mục mẫu bên trong mô-đun liệu pháp |
69 | URLLENGTH_LIMIT Nó xác định giới hạn độ dài tối đa cho URL được phép đối với các URL được thu thập thông tin. Giá trị mặc định: 2083 |
70 | USER_AGENT Nó xác định tác nhân người dùng sẽ được sử dụng trong khi thu thập thông tin một trang web. Giá trị mặc định: "Scrapy / VERSION (+ http: //scrapy.org)" |
Đối với các cài đặt Trị liệu khác, hãy truy cập liên kết này .