Chuyển đến nội dung chính

Cài đặt

A-Parser chứa các nhóm cài đặt sau:

  • Global Settings - các cài đặt chính của chương trình: ngôn ngữ, mật khẩu, tham số cập nhật, số lượng tác vụ đang hoạt động
  • Config Presets - cài đặt luồng và phương pháp khử trùng lặp cho tác vụ
  • Parser Presets - khả năng cấu hình từng công cụ cào dữ liệu riêng lẻ
  • Cài đặt kiểm tra proxy - số lượng luồng và mọi cài đặt cho proxy checker
  • Advanced Settings - các cài đặt tùy chọn cho người dùng nâng cao
  • Task presets - lưu tác vụ để sử dụng sau này

Tất cả cài đặt (trừ cài đặt chung và bổ sung) được lưu trong các preset - các bộ cài đặt đã được lưu sẵn, ví dụ:

  • Các preset cài đặt khác nhau cho công cụ cào dữ liệu SE::GoogleSE::Google - một preset để cào dữ liệu liên kết với độ sâu tối đa 10 trang, preset còn lại - để đánh giá mức độ cạnh tranh theo truy vấn, độ sâu cào dữ liệu 1 trang
  • Các preset cài đặt proxy checker khác nhau - riêng cho proxy HTTP và SOCKS

Đối với tất cả cài đặt đều có preset mặc định (default), không thể thay đổi, mọi thay đổi phải được lưu trong các preset với tên mới.

Cài đặt chung

Cài đặt -> Cài đặt chung
Tên tham sốGiá trị mặc địnhMô tả
PasswordKhông có mật khẩuĐặt mật khẩu để đăng nhập vào A-Parser
LanguageEnglishNgôn ngữ giao diện
News & TipsEnglishNgôn ngữ tin tức và gợi ý
Enable tipsXác định có hiển thị gợi ý hay không
Check updatesXác định có hiển thị thông tin về việc có bản cập nhật mới trong Thanh trạng thái
Save window sizeXác định có lưu kích thước cửa sổ hay không
Updates channelStableChọn kênh cập nhật (Ổn định, Beta, Alpha)
Tasks per page5Số lượng tác vụ trên mỗi trang trong Hàng đợi tác vụ
Max active tasks1Số lượng tác vụ đang hoạt động tối đa
Total threads limit10000Giới hạn luồng tổng trong A-Parser. Tác vụ sẽ không khởi chạy nếu giới hạn luồng chung nhỏ hơn số luồng trong tác vụ
Dynamic thread limitXác định có sử dụng Giới hạn luồng động hay không
CPU cores (task processing)2Hỗ trợ xử lý tác vụ trên các core CPU khác nhau (chỉ dành cho giấy phép Enterprise). Chi tiết được mô tả bên dưới
CPU cores (result processing)4Nhiều core chỉ được dùng khi lọc, Trong xây dựng kết quả, Parse custom result (tất cả loại giấy phép)
Memory SaverBest speedCho phép xác định bộ nhớ mà công cụ cào dữ liệu có thể sử dụng (Best speed / Medium memory usage / Save max memory). Chi tiết...

CPU core (xử lý tác vụ)

Hỗ trợ xử lý tác vụ trên các core CPU khác nhau, tính năng này chỉ khả dụng cho giấy phép Enterprise

Tùy chọn này tăng tốc (rất nhiều lần) việc xử lý nhiều tác vụ trong hàng đợi (Settings -> Max active tasks), nhưng không tăng tốc việc thực thi một tác vụ

Ngoài ra còn có phân bổ thông minh tác vụ cho các core làm việc dựa trên tải CPU của từng tiến trình Số lượng core CPU được sử dụng được đặt trong cài đặt, mặc định là 2, tối đa là 32

Cũng như với luồng, việc chọn số core nên thực hiện bằng thử nghiệm; mức hợp lý là 2-3 core cho CPU 4 nhân, 4-6 cho 8 nhân, v.v. Cần lưu ý rằng khi số core lớn và mức tải của chúng cao, có thể xảy ra tình trạng tải 100% của tiến trình quản lý chính (aparser/aparser.exe), khi đó việc tăng thêm tiến trình để xử lý tác vụ sẽ chỉ gây chậm tổng thể hoặc hoạt động không ổn định. Cũng cần lưu ý rằng mỗi tiến trình xử lý tác vụ có thể tạo thêm tải lên tới 300% (tức là tải 100% đồng thời trên 3 core), đặc điểm này liên quan đến cơ chế xử lý thu gom rác đa luồng trong engine JavaScript v8

Cài đặt luồng

Hoạt động của A-Parser được xây dựng theo nguyên tắc xử lý dữ liệu đa luồng. Công cụ cào dữ liệu thực hiện các tác vụ song song trong các luồng riêng biệt, số lượng luồng có thể linh hoạt thay đổi tùy theo cấu hình của máy chủ.

Mô tả hoạt động của luồng

Hãy cùng xem luồng là gì trong thực tế. Giả sử bạn cần lập báo cáo cho ba tháng.

Phương án 1
Bạn có thể lập báo cáo lần lượt cho tháng 1, sau đó tháng 2, và sau đó tháng 3. Đây là ví dụ về làm việc đơn luồng. Các tác vụ được xử lý theo thứ tự.

Phương án 2
Thuê ba kế toán, mỗi người sẽ lập báo cáo cho một tháng. Sau đó, khi nhận kết quả từ cả ba, sẽ làm một báo cáo chung. Đây là ví dụ về làm việc đa luồng. Các tác vụ được xử lý đồng thời.

Như có thể thấy từ các ví dụ này, làm việc đa luồng cho phép hoàn thành tác vụ nhanh hơn, nhưng đồng thời cũng cần nhiều tài nguyên hơn (chúng ta cần 3 kế toán thay vì 1). Tương tự, đa luồng cũng hoạt động trong A-Parser. Giả sử bạn cần cào dữ liệu từ nhiều liên kết:

  • với một luồng, ứng dụng sẽ cào từng site theo thứ tự
  • khi làm việc với nhiều luồng, mỗi luồng sẽ xử lý liên kết của mình, và sau khi hoàn thành sẽ chuyển sang liên kết chưa xử lý tiếp theo trong danh sách

Do đó, trong phương án thứ hai toàn bộ tác vụ sẽ hoàn thành nhanh hơn đáng kể, nhưng đồng thời cần nhiều tài nguyên máy chủ hơn, vì vậy nên tuân thủ Yêu cầu hệ thống

Thiết lập luồng

Thiết lập luồng trong A-Parser được thực hiện riêng cho từng tác vụ, tùy theo các tham số cần thiết để thực hiện nó. Theo mặc định có 2 cấu hình luồng: 20100 luồng, cho default100 Threads tương ứng.

Để vào phần cài đặt của cấu hình đã chọn, cần nhấn vào biểu tượng bút chì nút chỉnh sửa cấu hình luồng , sau đó phần cài đặt của nó sẽ mở ra. Nút chỉnh sửa Cấu hình luồng trong Trình chỉnh sửa tác vụ

Bạn cũng có thể chuyển đến cài đặt luồng qua mục menu: Settings -> Config Presets

Ở đây chúng ta có thể:

  • tạo một cấu hình mới với các cài đặt riêng và lưu dưới tên của mình (nút Thêm mới)
  • thực hiện thay đổi trong cấu hình hiện có, chọn nó từ danh sách thả xuống (nút Lưu)
Cài đặt Cấu hình luồng

Số luồng (Threads count)

Tham số này đặt số luồng mà tác vụ được khởi chạy với cấu hình này sẽ chạy. Số luồng có thể là bất kỳ, nhưng cần cân nhắc khả năng của máy chủ của bạn, cũng như giới hạn của gói proxy, nếu có giới hạn như vậy. Ví dụ với proxy của chúng tôi, bạn không thể chỉ định nhiều hơn gói đã chọn.

ghi chú

Ngoài ra cũng cần nhớ rằng tổng số luồng trong công cụ cào dữ liệu bằng tổng các tác vụ đang chạy và các proxy checker đã bật kiểm tra proxy. Ví dụ, nếu đang chạy một tác vụ 20 luồng và hai tác vụ 100 luồng mỗi tác vụ, đồng thời có một proxy checker đang hoạt động với kiểm tra proxy 15 luồng, thì tổng cộng công cụ cào dữ liệu sẽ sử dụng 20+100+100+15=235 luồng. Khi đó, nếu gói proxy được tính cho 200 luồng, sẽ có rất nhiều yêu cầu thất bại. Để tránh điều đó, cần giảm số luồng đang sử dụng. Ví dụ, tắt kiểm tra proxy (nếu không cần, việc này sẽ tiết kiệm 15 luồng) và giảm số luồng trong một trong các tác vụ thêm 20 luồng. Như vậy, đối với một trong các tác vụ đang chạy cần tạo cấu hình 80 luồng, các tác vụ còn lại giữ nguyên

Proxy checker (Proxy Checkers)

Tham số này cho phép chọn proxy checker với các cài đặt xác định. Tại đây có thể chọn tham số All, nghĩa là sử dụng tất cả proxy checker đang hoạt động, hoặc chỉ những proxy checker cần dùng trong tác vụ (có thể chọn nhiều mục)

ghi chú

Cài đặt này cho phép chạy tác vụ chỉ với các proxy checker cần thiết. Quy trình thiết lập proxy checker được xem xét ở đây

Tối đa luồng trên một proxy (Max threads per proxy)

Tại đây xác định số luồng tối đa mà cùng một proxy sẽ được sử dụng đồng thời. Cho phép đặt các tham số khác nhau, ví dụ 1 luồng = 1 proxy.

ghi chú

Theo mặc định, tham số này bằng 0, nghĩa là tắt chức năng này. Trong hầu hết trường hợp điều đó là đủ. Nhưng nếu cần giới hạn tải trên từng proxy, thì nên thay đổi giá trị

Cấm proxy toàn cục (Global proxy ban)

Tất cả tác vụ được khởi chạy với tùy chọn này đều có chung cơ sở dữ liệu cấm proxy. Đặc điểm của tham số này là danh sách proxy bị cấm cho mỗi công cụ cào dữ liệu là chung cho tất cả tác vụ đang hoạt động.

Ví dụ, proxy bị ban trong SE::GoogleSE::Google ở tác vụ 1 cũng sẽ bị ban cho SE::GoogleSE::Google ở tác vụ 2, nhưng nó vẫn có thể hoạt động bình thường trong SE::YandexSE::Yandex ở cả hai tác vụ

Tối đa kết nối trên một host (Max connections per host)

Tham số này chỉ ra số lượng kết nối tối đa trên một host, được thiết kế để giảm tải cho site khi cào dữ liệu từ đó. Về bản chất, việc chỉ định tham số này cho phép kiểm soát số lượng yêu cầu tại một thời điểm, cho từng domain cụ thể. Việc bật tham số này áp dụng cho tác vụ; nếu chạy nhiều tác vụ đồng thời với cùng một cấu hình luồng, giới hạn sẽ được tính cho tất cả tác vụ.

Theo mặc định, tham số này có giá trị 0, tức là tắt.

Tái sử dụng proxy giữa các lần thử lại (Reuse proxy between retries)

Cài đặt này tắt kiểm tra tính duy nhất của proxy cho mỗi lần thử, đồng thời chức năng cấm proxy cũng sẽ không hoạt động. Điều này ngược lại có nghĩa là có thể dùng 1 proxy cho tất cả các lần thử.

Tham số này được khuyến nghị bật, ví dụ trong các trường hợp dự định sử dụng 1 proxy, mà mỗi lần kết nối đến proxy đó IP đầu ra lại thay đổi.

Chiến lược sử dụng proxy (Proxy strategy)

Cho phép quản lý chiến lược chọn proxy khi sử dụng phiên: lưu proxy từ yêu cầu thành công cho yêu cầu tiếp theo hoặc luôn sử dụng proxy ngẫu nhiên.

Khuyến nghị

Trong bài viết này đã xem xét tất cả cài đặt cho phép quản lý luồng. Cần lưu ý rằng khi cấu hình luồng, không bắt buộc phải đặt tất cả tham số được nêu trong bài viết, chỉ cần đặt những tham số đảm bảo nhận được kết quả chính xác. Thông thường chỉ cần thay đổi Threads count, các cài đặt còn lại có thể để mặc định.

Cài đặt công cụ cào dữ liệu

Mỗi công cụ cào dữ liệu có nhiều cài đặt và cho phép lưu các bộ cài đặt khác nhau vào preset. Hệ thống preset cho phép dùng cùng một công cụ cào dữ liệu với các cài đặt khác nhau tùy tình huống, hãy xem ví dụ với công cụ cào dữ liệu SE::GoogleSE::Google:

  • Số trang (Pages count): 10

Như vậy công cụ cào dữ liệu sẽ thu thập số lượng liên kết tối đa, đi qua tất cả các trang của kết quả tìm kiếm

Preset 2: "Cào dữ liệu mức độ cạnh tranh theo truy vấn"

  • Số trang (Pages count): 1
  • Định dạng kết quả (Results format): $query: $totalcount\n

Trong trường hợp này, chúng ta nhận được số lượng kết quả trả về theo truy vấn (mức độ cạnh tranh của truy vấn) và để đạt tốc độ cao hơn, chỉ cần cào trang đầu tiên

Tạo preset

Tạo preset

Việc tạo preset bắt đầu bằng cách chọn công cụ cào dữ liệu/các công cụ cào dữ liệu và xác định kết quả cần nhận.

Tiếp theo cần hiểu dữ liệu đầu vào cho công cụ cào dữ liệu đã chọn là gì; trong ảnh chụp màn hình phía trên, công cụ cào dữ liệu SE::GoogleSE::Google được chọn, dữ liệu đầu vào của nó là bất kỳ dòng nào như khi bạn tìm kiếm gì đó trong trình duyệt. Có thể chọn tệp truy vấn hoặc nhập truy vấn vào ô văn bản.

Bây giờ cần ghi đè cài đặt (chọn các tùy chọn) cho công cụ cào dữ liệu, thêm khử trùng lặp. Có thể dùng trình xây dựng truy vấn, nếu cần xử lý truy vấn. Hoặc dùng trình xây dựng kết quả, nếu cần xử lý kết quả theo cách nào đó.

Tiếp theo cần chú ý đến việc chỉnh sửa tên tệp kết quả, và nếu cần thì thay đổi theo ý mình.

Mục cuối cùng là chọn các tùy chọn bổ sung, đặc biệt là tùy chọn Do log (Ghi log). Rất hữu ích nếu bạn muốn biết nguyên nhân lỗi cào dữ liệu.

Sau tất cả những điều này cần lưu preset và thêm vào hàng đợi tác vụ.

Ghi đè cài đặt

Override preset - ghi đè nhanh các cài đặt cho công cụ cào dữ liệu, tùy chọn này có thể được thêm trực tiếp trong Trình chỉnh sửa tác vụ. Chỉ với một cú nhấp có thể thêm nhiều tham số. Trong danh sách cài đặt, các giá trị mặc định được hiển thị, và nếu tùy chọn được tô đậm thì nghĩa là nó đã được ghi đè trong preset

Ghi đè cài đặt cho công cụ cào dữ liệu

Trong ví dụ này đã ghi đè tùy chọn Pages count (Số trang) và đặt thành 5.

Trong tác vụ có thể sử dụng số lượng không giới hạn các tùy chọn Override preset, nhưng nếu thay đổi nhiều, thì sẽ thuận tiện hơn khi tạo một preset mới và lưu tất cả thay đổi vào đó.

Ngoài ra có thể lưu các ghi đè rất dễ dàng bằng chức năng Save overrides to preset (Lưu ghi đè). Chúng sẽ được lưu thành một preset riêng cho công cụ cào dữ liệu đã chọn.

Lưu các tùy chọn đã ghi đè

Sau đó, trong tương lai chỉ cần chọn preset đã lưu này từ danh sách và sử dụng.

Chọn preset đã lưu cho một công cụ cào dữ liệu cụ thể

Cài đặt chung cho tất cả công cụ cào dữ liệu

Mỗi công cụ cào dữ liệu có một bộ cài đặt riêng, thông tin về cài đặt của từng công cụ cào dữ liệu bạn có thể tìm trong phần tương ứng

Trong bảng này chúng tôi trình bày các cài đặt chung cho tất cả công cụ cào dữ liệu

Tên tham sốGiá trị mặc địnhMô tả
Request retries10Số lần thử cho mỗi yêu cầu, nếu yêu cầu không thực hiện được sau số lần thử đã chỉ định thì nó được coi là thất bại và bị bỏ qua
Use proxyXác định có sử dụng proxy hay không
Query format$queryĐịnh dạng yêu cầu
Result formatMỗi công cụ cào dữ liệu có giá trị riêngĐịnh dạng đầu ra của kết quả
Proxy ban timeMỗi công cụ cào dữ liệu có giá trị riêngThời gian cấm proxy tính bằng giây
Request timeout60Thời gian chờ tối đa của yêu cầu tính bằng giây
Request delay0Độ trễ giữa các yêu cầu tính bằng giây, có thể đặt giá trị ngẫu nhiên trong khoảng, ví dụ 10,30 - độ trễ từ 10 đến 30 giây
Proxy CheckerAllProxy từ các checker nào should được sử dụng (chọn giữa tất cả hoặc liệt kê cụ thể)

Cài đặt chung cho tất cả công cụ cào dữ liệu hoạt động qua giao thức HTTP

Tên tham sốGiá trị mặc địnhMô tả
Max body sizeMỗi công cụ cào dữ liệu có giá trị riêngKích thước tối đa của trang kết quả tính bằng byte
Use gzipXác định có sử dụng nén lưu lượng truyền hay không
Extra query stringCho phép chỉ định các tham số bổ sung trong chuỗi yêu cầu
ghi chú

Các cài đặt mặc định cho từng công cụ cào dữ liệu có thể khác nhau. Chúng được lưu trong preset default trong cài đặt của từng công cụ cào dữ liệu.

Cài đặt proxy checker

Chi tiết về Thiết lập proxy checker

Cài đặt bổ sung

Cài đặt bổ sung
  • Ngắt dòng cho phép chọn giữa biến thể kết thúc dòng Unix và Windows khi lưu kết quả vào tệp
  • Định dạng số - đặt cách hiển thị số trong giao diện của A-Parser
  • Macros của mẫu