Proxy Taobao: kiểm thử hiển thị sản phẩm theo khu vực, ngôn ngữ
Proxy Taobao hữu ích khi anh em cần biết trang sản phẩm công khai của Taobao hiển thị thế nào với người xem ở từng khu vực, từng ngôn ngữ trình duyệt. Đây là bài toán kiểm thử hiển thị, không phải thu thập dữ liệu hàng loạt. Bài này, ProxyVN đi qua ranh giới robots.txt, khác biệt với quy trình 1688, cách dựng ma trận kiểm thử và code Python mẫu.
Proxy Taobao dùng vào việc gì trong kiểm thử hiển thị
Taobao là sàn bán lẻ lớn của Trung Quốc, phục vụ chủ yếu người mua trong nước. Người Việt mở Taobao vì nhiều lý do: tìm mẫu hàng, xem giá lẻ tham khảo, viết nội dung giới thiệu sản phẩm hoặc làm dịch vụ mua hộ. Mỗi nhóm đều có lúc gặp cùng một thắc mắc: người khác ở nơi khác có thấy trang này giống mình không.
Proxy Taobao trả lời đúng thắc mắc đó ở mức kết nối mạng. Khi đổi điểm ra sang một quốc gia khác, anh em quan sát được trang có chuyển hướng, đổi ngôn ngữ, đổi tiền tệ hay yêu cầu đăng nhập khác đi hay không. Kết quả là một bảng ghi nhận có nguồn gốc rõ ràng, thay cho những câu truyền miệng kiểu "nghe nói IP Việt Nam bị chặn".
Các tình huống kiểm thử hay gặp
Tình huống đầu tiên là đội nội dung viết hướng dẫn mua hàng Taobao cho người Việt. Họ cần ảnh chụp và mô tả đúng giao diện mà người đọc Việt Nam sẽ thấy. Tình huống thứ hai là đội phát triển công cụ dịch hoặc tiện ích trình duyệt, cần biết trang hiển thị ngôn ngữ nào để tiện ích xử lý đúng.
Tình huống thứ ba là đơn vị mua hộ muốn kiểm tra một đường dẫn khách gửi có mở được từ nhiều nơi không, trước khi báo giá. Cả ba tình huống đều xoay quanh câu hỏi hiển thị, không cần tải hàng nghìn trang. Số trang cần kiểm thử thường chỉ vài chục, nên làm tay có kiểm soát là hợp lý hơn dựng bot.
Proxy không giải quyết được phần nào
Proxy chỉ đổi nơi kết nối xuất phát. Nó không thay đổi tài khoản, không mở được phần nội dung cần đăng nhập và không biến đường dẫn bị robots.txt chặn thành đường dẫn được phép tải tự động. Nếu Taobao yêu cầu đăng nhập hoặc xác minh, đó là yêu cầu gắn với phiên người dùng chứ không chỉ gắn với IP.
Proxy cũng không làm trang nhanh hơn một cách tự nhiên. Một điểm ra ở xa máy chủ Taobao có thể làm trang tải chậm hơn kết nối trực tiếp. Tóm lại, proxy Taobao là công cụ đặt anh em vào đúng vị trí người xem cần mô tả, phần còn lại là thiết kế phép thử cho tử tế.
Taobao khác 1688 ở đâu khi đặt kế hoạch proxy Taobao
Taobao và 1688 cùng thuộc hệ sinh thái Alibaba và thường bị gộp chung trong các bài viết về proxy Trung Quốc. Thực tế, hai sàn phục vụ hai kiểu người mua khác nhau, nên mục tiêu dùng proxy cũng khác nhau. Gộp chung dễ dẫn tới chọn sai loại kết nối và sai cách đo.

Taobao, 1688 và mục tiêu kiểm thử
Bán lẻ và bán sỉ
Taobao hướng tới người mua cá nhân, đặt từ một sản phẩm, giá lẻ, có đánh giá của người mua. 1688 hướng tới bán sỉ, có số lượng đặt tối thiểu, giá theo bậc số lượng và phần lớn giao dịch là trao đổi với xưởng. Bài mua proxy 1688 trên blog ProxyVN đã nói kỹ về quy trình sourcing, đàm phán và giữ phiên ổn định với nhà cung cấp.
Bài này không lặp lại phần đó. Ở đây, anh em không đàm phán, không đặt cọc, không giữ phiên đăng nhập kéo dài. Việc cần làm chỉ là mở trang công khai, quan sát và ghi lại. Nhờ vậy, yêu cầu về proxy cũng đơn giản hơn nhiều.
Bảng so sánh mục tiêu
Bảng dưới đặt hai sàn cạnh nhau theo góc nhìn người dùng proxy. Cột cuối là điểm cần lưu ý khi chọn cách kết nối cho từng mục tiêu.
Tiêu chí |
Taobao trong bài này |
1688 trong bài sourcing |
|---|---|---|
Kiểu người mua |
Cá nhân, mua lẻ |
Doanh nghiệp, mua sỉ |
Việc chính |
Xem và ghi nhận hiển thị trang công khai |
Tìm xưởng, đàm phán, theo dõi đơn |
Cần đăng nhập |
Không, dừng lại khi trang yêu cầu |
Thường có, giữ phiên dài |
Số trang mỗi lượt |
Vài chục, làm tay |
Tùy quy mô sourcing |
Kiểu proxy hợp lý |
IP cố định theo từng điểm ra cần so sánh |
IP ổn định gắn theo phiên làm việc |
Đầu ra |
Bảng ghi nhận theo điểm ra và ngôn ngữ |
Bảng nhà cung cấp, giá, tiến độ |
Vì sao không mượn quy trình 1688
Quy trình 1688 thường gắn một proxy cố định cho mỗi tài khoản hoặc mỗi nhà cung cấp. Với kiểm thử hiển thị Taobao, gắn proxy theo tài khoản không có ý nghĩa vì phép thử không dùng tài khoản. Thứ cần gắn là điểm ra mạng và ngôn ngữ trình duyệt, hai biến số của ma trận kiểm thử.
Một khác biệt nữa là cách đo. Sourcing đo bằng việc giao dịch có trôi chảy không. Kiểm thử hiển thị đo bằng việc ghi lại đúng trạng thái trang tại từng ô của ma trận. Như vậy, kế hoạch proxy Taobao nên tách khỏi quy trình 1688 ngay từ đầu.
Ranh giới dữ liệu khi dùng proxy Taobao
Trước khi gửi request nào bằng code, anh em cần đọc tệp robots.txt của đúng tên miền sẽ truy cập. Taobao dùng nhiều tên miền con cho các loại trang khác nhau, và mỗi tên miền có tệp riêng. ProxyVN đã đọc hai tệp quan trọng nhất vào ngày 23/10/2026.
robots.txt của trang chủ và trang sản phẩm
Tệp robots.txt của www.taobao.com cho mọi trình thu thập truy cập đường dẫn gốc và nhóm đường dẫn /list/, đồng thời chặn mọi đường dẫn có tham số truy vấn. Tệp của item.taobao.com, tên miền chứa trang chi tiết sản phẩm, chỉ cho phép Googlebot và Googlebot-Image. Với mọi trình thu thập khác, tệp này chặn toàn bộ.
Kết luận thực tế khá rõ ràng. Trang chi tiết sản phẩm trên item.taobao.com không dành cho công cụ tải tự động của anh em. Muốn kiểm thử trang sản phẩm, anh em mở bằng trình duyệt như người dùng bình thường và ghi nhận tay, phần sau của bài sẽ hướng dẫn cách làm có hệ thống.
robots.txt không phải cơ chế phân quyền
Chuẩn RFC 9309 về Robots Exclusion Protocol mô tả robots.txt là lời yêu cầu của chủ website với trình thu thập, không phải biện pháp kiểm soát truy cập. Điều đó không có nghĩa là được phép bỏ qua. Nó có nghĩa robots.txt là mức tối thiểu cần tôn trọng, còn điều khoản dịch vụ của Taobao vẫn là văn bản ràng buộc người dùng.
Ngược lại, việc một đường dẫn được robots.txt cho phép cũng chưa đủ để kết luận được phép thu thập hàng loạt. Với trang chủ www.taobao.com, ví dụ trong bài chỉ gửi một request cho mỗi ô ma trận, cách nhau nhiều giây. Đó là mức kiểm thử, không phải mức thu thập.
Kênh chính thức khi cần dữ liệu có cấu trúc
Khi dự án cần dữ liệu sản phẩm có cấu trúc, như tiêu đề, giá, tồn kho, kênh phù hợp là Taobao Open Platform, nền tảng mở dành cho nhà phát triển và đối tác. Nền tảng này yêu cầu đăng ký ứng dụng và được cấp quyền theo từng nhóm API. ProxyVN chưa thử đăng ký trên nền tảng này nên không mô tả chi tiết điều kiện cấp quyền.
Dù chọn kênh nào, nguyên tắc vẫn giống nhau: dùng đúng cửa mà chủ dữ liệu mở ra. Kết lại, ranh giới khi dùng proxy Taobao gồm ba lớp: robots.txt, điều khoản dịch vụ và kênh API chính thức cho nhu cầu dữ liệu lớn.
Thiết kế ma trận kiểm thử khu vực và ngôn ngữ
Phép thử tốt bắt đầu bằng việc xác định rõ biến số. Với kiểm thử hiển thị, có hai biến chính: điểm ra mạng và ngôn ngữ trình duyệt. Mỗi tổ hợp của hai biến là một ô trong ma trận, và mỗi ô cần được ghi nhận theo cùng một mẫu.

Ma trận điểm ra và ngôn ngữ
Chọn điểm ra mạng
Điểm ra mạng là quốc gia mà website nhìn thấy khi nhận request. Với người Việt, ba điểm ra hay dùng là kết nối trực tiếp, proxy Việt Nam và proxy Mỹ. ProxyVN hiện cung cấp proxy Việt Nam và datacenter US, nên đủ cho ba điểm ra này.
Nếu kịch bản cần mô tả người xem ở Trung Quốc hoặc quốc gia khác, anh em cần nhà cung cấp có IP tại đúng nơi đó. Bài proxy Trung Quốc trên blog ProxyVN có phần lưu ý khi chọn loại kết nối này. Điều quan trọng là ghi đúng điểm ra vào bảng, không suy đoán.
Chọn ngôn ngữ trình duyệt
Trình duyệt gửi ngôn ngữ ưu tiên qua header Accept-Language. Tài liệu MDN về Accept-Language giải thích cách header này liệt kê ngôn ngữ kèm trọng số q. Website có thể dựa vào header để chọn nội dung, hoặc bỏ qua header và dùng cài đặt riêng.
Ba giá trị đáng thử là tiếng Việt, tiếng Anh Mỹ và tiếng Trung giản thể. Nếu trang không đổi theo header, kết quả ma trận sẽ cho thấy điều đó, và đó cũng là thông tin có ích cho đội viết nội dung hay đội làm tiện ích dịch.
Các trường cần ghi trong mỗi ô
Mỗi ô ma trận ghi theo cùng một bộ trường để so sánh được. Danh sách dưới đây là bộ trường tối thiểu, dùng chung cho cả phần kiểm tra tự động trang chủ và phần ghi nhận tay trang sản phẩm.
- Thời điểm kiểm thử, có múi giờ.
- Điểm ra mạng và IP hiển thị, che bớt vài số cuối khi chia sẻ.
- Giá trị Accept-Language hoặc ngôn ngữ giao diện trình duyệt.
- Mã trạng thái và URL cuối cùng sau chuyển hướng.
- Ngôn ngữ khai báo của trang, đơn vị tiền tệ hiển thị.
- Trang có yêu cầu đăng nhập hoặc xác minh hay không.
- Ghi chú khác biệt so với ô đối chứng.
Như vậy, ma trận ba điểm ra nhân ba ngôn ngữ cho chín ô mỗi trang. Với mười trang sản phẩm, anh em có chín mươi lần quan sát, đủ để rút ra kết luận mà vẫn làm tay được trong một buổi.
Chuẩn bị môi trường cho proxy Taobao
Môi trường gồm hai phần: một môi trường Python nhỏ cho phần kiểm tra trang chủ, và các hồ sơ trình duyệt riêng cho phần kiểm thử tay. Hai phần dùng chung thông tin proxy, nên cần đặt cấu hình ở một chỗ.
Cài thư viện và khai báo proxy
Phần Python chỉ cần Requests, module urllib.robotparser có sẵn trong thư viện chuẩn. Các lệnh dưới chạy trên Windows PowerShell. Biến PROXY_VN và PROXY_US chứa chuỗi kết nối của hai điểm ra, giá trị viết hoa là chỗ anh em thay bằng thông tin thật.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install requests
python -m pip freeze > requirements-lock.txt
$env:PROXY_VN = 'http://USERNAME:PASSWORD@HOST_VN:PORT'
$env:PROXY_US = 'http://USERNAME:PASSWORD@HOST_US:PORT'
Nếu mật khẩu có ký tự đặc biệt như @ hoặc dấu hai chấm, cần mã hoá URL trước khi ghép vào chuỗi. Khi dán log vào báo cáo, thay phần USERNAME và PASSWORD bằng dấu sao.
Tạo hồ sơ trình duyệt riêng cho từng điểm ra
Phần kiểm thử tay nên dùng một hồ sơ Chrome riêng cho mỗi điểm ra, để cookie và lịch sử không lẫn sang nhau. Tài liệu Chromium về cấu hình mạng mô tả cờ dòng lệnh --proxy-server để chỉ định proxy cho một phiên Chrome. Cờ --user-data-dir tạo hồ sơ tách biệt, cờ --lang đặt ngôn ngữ giao diện trên Windows.
$chrome = 'C:\Program Files\Google\Chrome\Application\chrome.exe'
& $chrome --user-data-dir="$env:TEMP\tb-test-us-en" --proxy-server="http://HOST_US:PORT" --lang=en-US
& $chrome --user-data-dir="$env:TEMP\tb-test-vn-vi" --proxy-server="http://HOST_VN:PORT" --lang=vi
Cờ --proxy-server không nhận user và password trong chuỗi, nên Chrome sẽ hiện hộp thoại hỏi thông tin xác thực khi mở trang đầu tiên. Anh em nhập tay vào hộp thoại đó. Nếu đường dẫn cài Chrome khác mặc định, sửa biến $chrome cho đúng.
Kiểm tra điểm ra trước mỗi phiên
Trước khi mở Taobao, anh em mở một trang kiểm tra IP trong cùng hồ sơ để xác nhận quốc gia. Bước này mất vài giây nhưng tránh được lỗi phổ biến nhất: tưởng đang ở điểm ra Mỹ nhưng thật ra hồ sơ chưa nhận proxy. Ghi IP đã che bớt vào bảng.
Ngoài IP, kiểm tra luôn chuỗi User-Agent của trình duyệt nếu đội có nhiều máy. Bài User-Agent là gì giải thích cách đọc chuỗi này. Tóm lại, môi trường cho proxy Taobao gọn nhưng phải tách bạch từng điểm ra, nếu không kết quả ma trận sẽ mất giá trị.
Ví dụ tối thiểu: kiểm tra trang chủ theo điểm ra và ngôn ngữ
Phần tự động duy nhất trong bài nhắm vào trang chủ www.taobao.com, đường dẫn robots.txt cho phép. Code đọc robots.txt qua cùng đường mạng, gửi một request cho mỗi ô ma trận, cách nhau mười giây, rồi ghi kết quả ra CSV. Đầu vào là danh sách điểm ra và ngôn ngữ, đầu ra là bảng chín dòng.

Kiểm tra trang được phép
Code kiểm tra có tôn trọng robots.txt
Đây là ví dụ triển khai do ProxyVN viết, dùng lớp RobotFileParser của Python để kiểm tra quyền trước khi tải. Proxy được truyền qua Session theo hướng dẫn proxy của Requests. Code không tải trang sản phẩm và không xử lý đăng nhập.
import csv
import os
import re
import time
import hashlib
import urllib.robotparser
from datetime import datetime, timezone
import requests
TARGET = "https://www.taobao.com/"
UA = "display-test-lab/0.1 (contact: qa@example.com)"
EXITS = {"direct": None, "VN": os.environ.get("PROXY_VN"), "US": os.environ.get("PROXY_US")}
LANGS = ["vi-VN,vi;q=0.9", "en-US,en;q=0.9", "zh-CN,zh;q=0.9"]
def session_for(proxy):
s = requests.Session()
if proxy:
s.proxies.update({"http": proxy, "https": proxy})
s.headers.update({"User-Agent": UA})
return s
def allowed(session, url):
rp = urllib.robotparser.RobotFileParser()
r = session.get("https://www.taobao.com/robots.txt", timeout=(10, 20))
if r.status_code >= 400:
return False
rp.parse(r.text.splitlines())
return rp.can_fetch(UA, url)
def probe(session, lang):
started = time.monotonic()
r = session.get(TARGET, headers={"Accept-Language": lang}, timeout=(10, 30))
html = r.text
lang_attr = re.search(r'<html[^>]*\slang="([^"]+)"', html)
title = re.search(r"<title>(.*?)</title>", html, re.S)
return {
"status": r.status_code,
"final_url": r.url,
"html_lang": lang_attr.group(1) if lang_attr else "",
"title": title.group(1).strip() if title else "",
"content_language": r.headers.get("Content-Language", ""),
"bytes": len(r.content),
"sha16": hashlib.sha256(r.content).hexdigest()[:16],
"ms": round((time.monotonic() - started) * 1000),
}
def run(out_file="taobao_home_matrix.csv", delay=10):
rows = []
for exit_name, proxy in EXITS.items():
if exit_name != "direct" and not proxy:
print("bỏ qua", exit_name, "vì chưa khai báo proxy")
continue
s = session_for(proxy)
if not allowed(s, TARGET):
print("robots.txt không cho phép", TARGET)
return
for lang in LANGS:
time.sleep(delay)
row = {"tested_at": datetime.now(timezone.utc).isoformat(timespec="seconds"),
"exit": exit_name, "accept_language": lang}
try:
row |= probe(s, lang)
except requests.RequestException as exc:
row["status"] = type(exc).__name__
rows.append(row)
print(row["exit"], lang, row.get("status"), row.get("html_lang"), row.get("bytes"))
fields = sorted({k for r in rows for k in r})
with open(out_file, "w", newline="", encoding="utf-8") as fh:
w = csv.DictWriter(fh, fieldnames=fields)
w.writeheader()
w.writerows(rows)
if __name__ == "__main__":
run()
Hàm allowed trả về False khi không đọc được robots.txt, đây là lựa chọn thận trọng hơn mặc định của thư viện. Hàm probe chỉ đọc vài thông tin nhận diện từ HTML: thẻ lang, tiêu đề, kích thước và mã băm. Trường ms đo thời gian phản hồi của một lần, không dùng làm số liệu tốc độ.
Đầu ra mong đợi và kết quả thử trực tiếp
ProxyVN đã chạy chính đoạn code trên ở chế độ direct vào ngày 23/10/2026, từ một kết nối Việt Nam không qua proxy, với cả ba giá trị Accept-Language. Cả ba lần đều trả mã 200, không chuyển hướng, cùng thẻ html lang zh-CN, cùng tiêu đề 淘宝 và cùng kích thước 93.201 byte. Nói cách khác, ở lượt thử đó trang chủ không đổi theo header ngôn ngữ.
Khi chạy đủ ma trận với proxy, màn hình in dạng như khối dưới. Ba dòng direct là kết quả thật của lượt thử trên, các dòng VN và US là dạng đầu ra mong đợi, chưa phải kết quả đã chạy qua proxy ProxyVN.
direct vi-VN,vi;q=0.9 200 zh-CN 93201
direct en-US,en;q=0.9 200 zh-CN 93201
direct zh-CN,zh;q=0.9 200 zh-CN 93201
VN vi-VN,vi;q=0.9 <status> <html_lang> <bytes>
US en-US,en;q=0.9 <status> <html_lang> <bytes>
Một chi tiết đáng chú ý từ lượt thử: mã băm sha16 khác nhau ở cả ba dòng dù kích thước bằng nhau. Trang có phần nội dung đổi theo từng lần tải, như mã phiên hoặc mã theo dõi. Vì vậy, so sánh html_lang, tiêu đề và kích thước đáng tin hơn so sánh mã băm; khi các trường này lệch nhau mới cần mở trình duyệt xem tay.
Đọc kết quả sao cho đúng
Kết quả trang chủ chỉ nói về trang chủ. Trang sản phẩm, trang tìm kiếm và ứng dụng di động có thể hành xử khác. Đừng suy rộng từ chín dòng này ra toàn bộ Taobao. Như vậy, ví dụ tối thiểu cho proxy Taobao cho anh em một mốc đối chứng có thể chạy lại, phần trang sản phẩm sẽ làm tay ở phần sau.
Kiểm thử trang sản phẩm bằng trình duyệt và ghi nhận kết quả
Trang sản phẩm là nơi người dùng thật sự quan tâm, nhưng cũng là nơi robots.txt chặn công cụ tự động. Vì vậy phần này làm bằng tay từ đầu tới cuối. Không có nghĩa là làm tùy hứng: quy trình rõ ràng giúp kết quả của hai người khác nhau vẫn so sánh được.
Quy trình cho mỗi trang sản phẩm
Anh em chuẩn bị danh sách đường dẫn sản phẩm cần kiểm thử, lấy từ khách hàng hoặc từ chính lúc duyệt tay. Với mỗi đường dẫn, lần lượt mở trong từng hồ sơ trình duyệt đã tạo ở phần chuẩn bị. Các bước dưới đây áp dụng cho mỗi ô ma trận.
- Mở hồ sơ trình duyệt đúng điểm ra và ngôn ngữ, xác nhận IP.
- Dán đường dẫn sản phẩm, chờ trang tải xong, không bấm thêm gì.
- Ghi URL cuối trên thanh địa chỉ, ngôn ngữ giao diện, đơn vị tiền tệ.
- Ghi lại trang có hiện yêu cầu đăng nhập hoặc xác minh hay không.
- Chụp màn hình lưu nội bộ nếu cần bằng chứng, che thông tin cá nhân.
- Đóng tab, chờ ít nhất vài chục giây trước khi mở ô tiếp theo.
Khi trang yêu cầu đăng nhập hoặc xác minh
Taobao có thể hiện yêu cầu đăng nhập hoặc một bước xác minh, như kéo thanh trượt, khi thấy truy cập lạ. Gặp tình huống này, anh em ghi nhận đúng trạng thái đó vào bảng và dừng ô kiểm thử. Không dùng dịch vụ giải CAPTCHA, không đổi IP liên tục để thử lại, vì đó đã là hành vi vượt rào chứ không còn là kiểm thử.
Bản thân việc trang yêu cầu xác minh ở điểm ra này mà không yêu cầu ở điểm ra khác đã là một phát hiện có giá trị. Bài lưu lượng truy cập bất thường trên blog ProxyVN giải thích vì sao các website lớn phản ứng như vậy với một số dạng lưu lượng.
Mẫu bảng ghi nhận và cách so sánh
Bảng ghi nhận dùng CSV để dễ đưa vào phân tích. Ví dụ dưới chỉ minh hoạ cấu trúc, giá trị trong ngoặc nhọn là chỗ anh em điền khi làm thật.
tested_at,product_url,exit,ui_lang,final_url,page_lang,currency,login_prompt,verify_prompt,note
2026-10-23T10:00:00+07:00,https://item.taobao.com/item.htm?id=<ID>,VN,vi,<URL cuối>,<ngôn ngữ>,<tiền tệ>,no,no,<ghi chú>
2026-10-23T10:05:00+07:00,https://item.taobao.com/item.htm?id=<ID>,US,en-US,<URL cuối>,<ngôn ngữ>,<tiền tệ>,no,no,<ghi chú>
Sau khi có bảng, một đoạn Python ngắn gom các dòng theo sản phẩm và in ra những trường khác nhau giữa các điểm ra. Đoạn code chỉ đọc tệp CSV trên máy, không gửi request nào.
import csv
from collections import defaultdict
COMPARE = ["final_url", "page_lang", "currency", "login_prompt", "verify_prompt"]
def diff_by_product(path="taobao_manual.csv"):
groups = defaultdict(list)
with open(path, encoding="utf-8") as fh:
for row in csv.DictReader(fh):
groups[row["product_url"]].append(row)
for url, rows in groups.items():
for field in COMPARE:
values = {f'{r["exit"]}/{r["ui_lang"]}': r[field] for r in rows}
if len(set(values.values())) > 1:
print(url, field, values)
if __name__ == "__main__":
diff_by_product()
Đầu ra là danh sách các trường khác nhau theo từng sản phẩm, ví dụ currency khác giữa VN/vi và US/en-US. Trường nào không in ra nghĩa là giống nhau ở mọi ô. Tóm lại, kiểm thử trang sản phẩm bằng tay có quy trình cho kết quả đủ chặt mà không cần đụng tới công cụ tự động trên item.taobao.com.
Xử lý lỗi và giới hạn request khi dùng proxy Taobao
Dù khối lượng nhỏ, phép thử vẫn gặp lỗi. Phân loại lỗi đúng giúp anh em biết vấn đề nằm ở proxy, ở trình duyệt hay ở phía Taobao. Nhầm lẫn giữa các nhóm này là nguyên nhân phổ biến của kết luận sai.

Ghi nhận kết quả trang sản phẩm
Lỗi kết nối proxy
Lỗi ProxyError hoặc mã 407 cho thấy thông tin xác thực proxy sai hoặc thiếu. ConnectTimeout cho thấy proxy không phản hồi trong thời gian chờ. Ở phía trình duyệt, lỗi tương ứng thường là trang báo không kết nối được máy chủ proxy, hoặc hộp thoại xác thực hiện lại liên tục.
Cách kiểm tra nhanh là mở một trang kiểm tra IP trong cùng hồ sơ. Nếu trang đó cũng lỗi, vấn đề nằm ở proxy chứ không nằm ở Taobao. Ghi lỗi vào bảng với trạng thái riêng, đừng để trống ô.
Phản hồi bất thường từ phía Taobao
Mã 403, 429 hoặc trang chuyển sang bước xác minh là tín hiệu từ phía website. Với phần tự động, code mẫu đã giãn mười giây giữa các request và chỉ gửi chín request mỗi lượt. Nếu vẫn gặp 429, tăng khoảng nghỉ hoặc dời lượt kiểm thử sang ngày khác, không thêm IP để chia nhỏ lưu lượng.
Một trường hợp dễ nhầm là trang trả mã 200 nhưng nội dung là trang xác minh. Đây là lý do code mẫu ghi cả tiêu đề, kích thước và mã băm. Một trang 200 có kích thước nhỏ bất thường so với lần đối chứng thường là trang chặn hoặc trang chuyển hướng bằng JavaScript.
Kiểm thử hiển thị chỉ có giá trị khi mỗi ô ma trận được ghi đúng trạng thái thật, kể cả trạng thái lỗi và trạng thái bị yêu cầu xác minh.
Giữ số liệu sạch
Mỗi lượt kiểm thử nên có mã lượt, ví dụ ngày cộng số thứ tự, gắn vào mọi dòng. Khi phát hiện một hồ sơ trình duyệt bị cấu hình sai, anh em loại cả lượt đó thay vì sửa tay từng dòng. Cách làm này giữ được tính nhất quán khi so sánh các lượt cách nhau vài tuần.
Ngoài ra, ghi rõ phiên bản trình duyệt và phiên bản thư viện Python trong báo cáo. Giao diện website và trình duyệt đều thay đổi theo thời gian, nên kết quả của hôm nay có thể khác kết quả tháng sau. Nhìn chung, xử lý lỗi khi dùng proxy Taobao chủ yếu là ghi nhận đúng, không phải tìm cách đẩy request đi qua bằng được.
Checklist trước khi chạy proxy Taobao
Trước khi bắt đầu một lượt kiểm thử, anh em rà lại danh sách dưới đây. Mỗi mục gắn với một lỗi hoặc một ranh giới đã nói ở các phần trên. Danh sách chia làm hai nhóm cho dễ phân công trong đội.
Checklist ranh giới
Nhóm đầu tiên là các mục về quyền truy cập. Người phụ trách dự án nên xác nhận nhóm này trước khi người kiểm thử bắt tay vào làm.
- Đã đọc robots.txt của từng tên miền con sẽ truy cập, ghi ngày đọc.
- Phần tự động chỉ chạm tới đường dẫn robots.txt cho phép.
- Trang sản phẩm chỉ kiểm thử bằng trình duyệt, làm tay.
- Gặp đăng nhập hoặc xác minh thì ghi nhận và dừng ô đó.
- Nhu cầu dữ liệu có cấu trúc chuyển sang kênh API chính thức.
Checklist kỹ thuật
Nhóm thứ hai là cấu hình và vận hành. Người kiểm thử tự rà nhóm này trước mỗi lượt.
- Mỗi điểm ra có hồ sơ trình duyệt riêng, đã xác nhận IP.
- Ngôn ngữ giao diện và Accept-Language khớp với ô ma trận.
- Biến môi trường proxy đã đặt, log đã che thông tin xác thực.
- Khoảng nghỉ giữa các request ít nhất mười giây.
- Có mã lượt kiểm thử và phiên bản trình duyệt trong bảng.
Chọn proxy cho từng điểm ra
Kiểm thử hiển thị cần IP cố định cho mỗi điểm ra, để các lượt kiểm thử cách nhau vẫn xuất phát từ cùng bối cảnh mạng. Proxy dân cư tĩnh Việt Nam hoặc datacenter Việt Nam phù hợp cho điểm ra VN, datacenter US phù hợp cho điểm ra Mỹ. Khi cần mua proxy giá rẻ cho hai điểm ra này, anh em xem các gói trên trang chủ ProxyVN rồi chạy thử phần đối chứng trang chủ trước khi làm cả ma trận.
ProxyVN hỗ trợ HTTP và SOCKS5 có xác thực user/pass, cấu hình được trong cả Chrome lẫn Requests như ví dụ. ProxyVN chưa thử riêng với Taobao, nên lượt chạy đối chứng là bước cần làm trước. Như vậy, checklist proxy Taobao giữ cho phép thử nằm trong ranh giới và cho ra số liệu so sánh được.
Câu hỏi thường gặp về proxy Taobao
Phần này trả lời ngắn vài thắc mắc hay gặp. Chi tiết nằm trong các phần trên của bài.
Dùng proxy Taobao có giúp đặt hàng dễ hơn không
Bài này không bàn chuyện đặt hàng. Đặt hàng gắn với tài khoản, thanh toán và địa chỉ nhận, những yếu tố không phụ thuộc vào proxy. Nếu anh em quan tâm quy trình mua sỉ và làm việc với xưởng, bài về 1688 trên blog ProxyVN phù hợp hơn.
Có nên dùng proxy xoay để kiểm thử Taobao không
Không cần. Proxy xoay đổi IP theo lượt, làm mỗi ô ma trận xuất phát từ một IP khác, khó so sánh giữa các lượt. Kiểm thử hiển thị cần IP cố định cho từng điểm ra. Proxy xoay chỉ có ý nghĩa với bài toán khác, không phải bài toán này.
Có thể tải trang sản phẩm bằng Playwright thay cho làm tay không
Trình duyệt tự động như Playwright vẫn là công cụ tự động. Tệp robots.txt của item.taobao.com ngày 23/10/2026 chặn mọi trình thu thập trừ Googlebot, nên ProxyVN không khuyến nghị cách này. Với vài chục trang, làm tay có quy trình vẫn nhanh và an toàn hơn.
Vì sao trang chủ không đổi theo ngôn ngữ trình duyệt
Ở lần thử đối chứng ngày 23/10/2026, trang chủ trả cùng nội dung với Accept-Language tiếng Việt và tiếng Anh. Website có thể chọn ngôn ngữ dựa trên cài đặt riêng hoặc ứng dụng khác, không chỉ dựa vào header. Kết quả có thể thay đổi theo thời gian nên cần chạy lại khi viết báo cáo mới.
Làm proxy Taobao đúng hướng là dựng ma trận điểm ra và ngôn ngữ, tự động hoá phần robots.txt cho phép, làm tay phần trang sản phẩm và ghi đúng mọi trạng thái. Hãy chạy đối chứng trước khi so sánh. Cần tư vấn điểm ra VN hay US, anh em nhắn Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam trước khi kiểm thử với proxy Taobao.