Cách thu thập kết quả tìm kiếm trên eBay: Hướng dẫn khởi động phiên và chống phát hiện
Advanced Data Extraction Specialist
Những điểm chính:
- Yêu cầu lạnh tới điểm cuối tìm kiếm của eBay bị chặn. Điều hướng tự động trực tiếp đến
https://www.ebay.com/sch/i.html?_nkw=laptopdẫn đến trang lỗi của eBay, ngay cả từ một phiên duyệt web đám mây mới ở Mỹ — eBay kiểm soát chặt chẽ hơn con đường tìm kiếm so với các trang sản phẩm và duyệt. - Khởi động phiên là chìa khóa mở khóa. Mở một phiên duyệt web đám mây liên tục, truy cập vào trang chủ của eBay trước để cookies và trạng thái điều hướng ổn định, sau đó điều hướng đến URL tìm kiếm trong cùng một phiên đó. Trang tìm kiếm sau đó sẽ tải với đầy đủ lưới kết quả.
- Trích xuất yếu tố từ
.su-card-container. eBay đã thay đổi đánh dấu thẻ kết quả của mình; bộ chọn cũli.s-itemgiờ không khớp với gì cả. Các thẻ kết quả hiện tại mang lớp.su-card-container— chọn theo đó và đọc các trường con từ mỗi thẻ. - Tích hợp là một điểm cuối CDP duy nhất. Xây dựng một URL WebSocket của Scrapeless Scraping Browser với khóa API của bạn, và
connect_over_cdpcủa Playwright điều khiển nó giống như điều khiển một trình duyệt cục bộ — do đó việc kết xuất, thoát cư dân và lấy dấu vân tay đều chuyển sang phía đám mây. - Thoát cư dân là điều quan trọng. Scrapeless Scraping Browser đi qua các proxy cư dân ở hơn 195 quốc gia và ngẫu nhiên hóa dấu vân tay của trình duyệt theo phiên, vì vậy trình duyệt đám mây hiển thị các trang eBay mà trình duyệt tự động cục bộ bị lọc.
- Miễn phí để bắt đầu. Tài khoản Scrapeless mới bao gồm thời gian chạy Scraping Browser miễn phí — đăng ký tại app.scrapeless.com.
Giới thiệu: Tại sao trang tìm kiếm của eBay chặn cách tiếp cận rõ ràng
eBay là một trong những thị trường công cộng lớn nhất trên web, và kết quả tìm kiếm của nó là một nguồn dữ liệu dày đặc về giá cả, danh sách và cạnh tranh. Các đội ngũ định giá theo dõi những gì các mặt hàng tương đương được bán, các đội bảo vệ thương hiệu theo dõi các danh sách không được phép, và các đại lý AI lấy ngữ cảnh danh sách để trả lời các câu hỏi về sản phẩm. Tất cả điều đó nằm sau điểm cuối tìm kiếm ở /sch/i.html.
Cách tiếp cận rõ ràng — chỉ định một client HTTP hoặc trình duyệt không có đầu cục bộ tại URL đó — nhanh chóng thất bại. Một yêu cầu tự động lạnh tới https://www.ebay.com/sch/i.html?_nkw=laptop dẫn đến trang lỗi của eBay thay vì kết quả. Điều này xảy ra ngay cả từ một IP cư dân ở Mỹ sạch sẽ: eBay đánh giá danh tiếng IP, lấy dấu vân tay thiết bị, tỷ lệ yêu cầu và tín hiệu hành vi, và nó kiểm soát con đường tìm kiếm một cách mạnh mẽ hơn so với các trang sản phẩm và duyệt. Trang được hiển thị cho con người và bị chặn đối với một tập lệnh.
Hướng dẫn này xây dựng một pipeline Python trên Scrapeless Scraping Browser để vượt qua cánh cửa đó như một khách truy cập thực — bằng cách đến trang chính trước, để phiên ấm lên, sau đó di chuyển đến tìm kiếm trong cùng một phiên. Bạn kết nối với trình duyệt đám mây qua CDP với Playwright, client được hỗ trợ chính thức, vì vậy việc kết xuất, thoát cư dân và lấy dấu vân tay chống phát hiện đều diễn ra ở phía đám mây. Để xây dựng một thị trường lớn khác sử dụng cùng một nguyên lý này, hãy xem danh sách các scraper Amazon tốt nhất; để so sánh giá cả theo khu vực giữa các công cụ, hãy xem Các scraper Zillow tốt nhất trong năm 2026.
Bạn có thể làm gì với nó
Mô hình phiên ấm — trang chính trước, sau đó là các trang tìm kiếm và chi tiết trong một phiên trình duyệt đám mây giữ — bao phủ hầu hết các công việc mà một pipeline dữ liệu eBay cần:
- Theo dõi giá cả của đối thủ. Lấy giá và tiêu đề danh sách từ mỗi thẻ kết quả trên một truy vấn tìm kiếm, sau đó so sánh với danh mục của riêng bạn theo lịch trình.
- Giám sát một danh mục sản phẩm. Duyệt một danh mục hoặc truy vấn từ khóa qua các trang và thu thập danh sách vào các bản ghi có kiểu để phân tích xu hướng.
- Theo dõi các danh sách không được phép. Tìm kiếm thương hiệu hoặc SKU của bạn và báo cáo những người bán không nên liệt kê nó.
- Ghi lại kết quả địa lý cụ thể. Cố định thoát cư dân Mỹ để xem các danh sách, tiền tệ và độ khả dụng mà một người mua sắm Mỹ sẽ thấy, thay vì bất kỳ thứ gì mà một IP văn phòng chuyển đến.
- Cung cấp ngữ cảnh danh sách cho một đại lý AI. Kết xuất các trang tìm kiếm và sản phẩm để làm sạch các trường có cấu trúc để một lớp truy xuất hoặc đại lý có thể trả lời các câu hỏi về sản phẩm bằng dữ liệu hiện tại.
- Xây dựng bộ dữ liệu lịch sử giá cả. Chụp lại cùng một truy vấn theo thời gian và lưu trữ các kết quả đã được kết xuất để nghiên cứu cách giá cả thay đổi.
Tại sao lại là Scrapeless Scraping Browser
Scrapeless Scraping Browser là một trình duyệt đám mây có thể tùy chỉnh và chống phát hiện, được thiết kế cho các crawler web và đại lý AI. Đối với eBay cụ thể, nó mang lại:
- Trình duyệt đám mây chống phát hiện. Nó chạy một phiên bản Chromium tự phát triển với định dạng JavaScript đầy đủ ở phía đám mây, vì vậy lưới tìm kiếm, hình ảnh tải lười và chi tiết sản phẩm được tải trước khi trình phân tích đọc chúng.
- Địa chỉ proxy dân cư ở hơn 195 quốc gia. Đặt
proxyCountrytrong URL kết nối và trình duyệt đám mây sẽ xuất phát từ các IP dân cư thật trong khu vực bạn nhắm đến, do đó eBay sẽ trả về những gì một người mua sắm địa phương nhìn thấy. - Ngẫu nhiên hóa dấu vân tay theo phiên. Mỗi phiên sẽ có một dấu vân tay ngẫu nhiên — tác nhân người dùng, múi giờ, WebGL và canvas — vì vậy trình duyệt tự động sẽ không bị coi là một danh tính có thể phát hiện duy nhất.
- Duy trì phiên qua
sessionTTL. Giữ một phiên mở trong suốt quá trình khởi động trang chính và điều hướng tìm kiếm bằng cách đặtsessionTTLtrong URL kết nối, do đó cookie và trạng thái điều hướng sẽ được giữ lại giữa các yêu cầu trong một lần chạy. - Một điểm cuối CDP duy nhất. Xây dựng một URL WebSocket với khóa API của bạn;
connect_over_cdpcủa Playwright sẽ điều khiển nó như thể đó là một trình duyệt cục bộ, vì vậy mã phân tích của bạn sẽ không thay đổi.
Thời gian chạy miễn phí để bắt đầu và mở rộng theo mức sử dụng — xem giá cả Scrapeless cho các mức giá, và lấy khóa API của bạn trong kế hoạch miễn phí tại app.scrapeless.com.
Các yêu cầu tiên quyết
Trước khi bắt đầu, hãy chắc chắn rằng bạn có:
- Python 3.10+ — yêu cầu bởi thư viện fetcher bên dưới.
- pip — để cài đặt các gói.
- Tài khoản Scrapeless và khóa API — đăng ký gói miễn phí tại app.scrapeless.com, sau đó lấy khóa của bạn từ Cài đặt → Quản lý khóa API.
- Kiến thức cơ bản về các bộ chọn CSS và dòng lệnh — bạn sẽ sử dụng cả hai để lấy trang và lấy giá trị từ chúng.
Cài đặt
Bạn cần một gói: Playwright cho Python, khách hàng được hỗ trợ chính thức cho Trình duyệt Scraping Scrapeless.
1. Cài đặt Playwright
bash
pip install playwright
connect_over_cdp của Playwright kết nối với trình duyệt đám mây Scrapeless từ xa, vì vậy bạn không cần chạy playwright install hoặc tải xuống bất kỳ tệp nhị phân trình duyệt cục bộ nào — việc kết xuất diễn ra ở phía đám mây. Playwright giữ một kết nối mở giữa nhiều lần tải trang, điều này giúp khởi động trang chính và tìm kiếm chia sẻ một danh tính phiên.
2. Đặt khóa API Scrapeless của bạn
Xuất khóa của bạn để nó có thể được sử dụng trong URL kết nối:
bash
export SCRAPELESS_API_KEY=your_api_token_here
Trên Windows, sử dụng setx SCRAPELESS_API_KEY "your_api_token_here" (vĩnh viễn, shell mới) hoặc $env:SCRAPELESS_API_KEY="your_api_token_here" (phiên PowerShell hiện tại). Trình trợ giúp kết nối bên dưới sẽ đọc biến này và nhúng nó vào URL dưới dạng token.
Bước 1 — Xây dựng kết nối và xác nhận yêu cầu lạnh bị chặn
Bắt đầu bằng cách tái tạo việc bị chặn, để phần còn lại của quy trình có một cơ sở rõ ràng. Xây dựng URL Trình duyệt Scraping Scrapeless, kết nối với Playwright và điều hướng thẳng đến điểm cuối tìm kiếm mà không ghé thăm trang chính trước.
python
import os
from urllib.parse import urlencode
from playwright.sync_api import sync_playwright
def scraping_browser_url(proxy_country="US", session_ttl=240):
# Khóa API được nhúng vào URL dưới dạng `token`; thời gian tồn tại và egress là các tham số truy vấn.
params = urlencode({
"token": os.environ["SCRAPELESS_API_KEY"],
"sessionTTL": session_ttl,
"proxyCountry": proxy_country,
})
return f"wss://browser.scrapeless.com/api/v2/browser?{params}"
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(scraping_browser_url("US"))
page = browser.new_page()
# Điều hướng lạnh thẳng đến điểm cuối tìm kiếm, không khởi động trang chính.
page.goto("https://www.ebay.com/sch/i.html?_nkw=laptop",
wait_until="domcontentloaded")
print(page.title()) # -> "Error Page | eBay" / "Access Denied"
browser.close()
Một điều hướng tự động lạnh đến /sch/i.html dẫn đến trang lỗi eBay, mặc dù phiên xuất phát từ một IP dân cư sạch ở Mỹ. eBay coi điểm cuối tìm kiếm là một đường dẫn nhạy cảm và thách thức các yêu cầu đến mà không có một ngữ cảnh duyệt web đã được thiết lập. Giải pháp không phải là một tiêu đề khác hoặc một IP khác — mà là đến theo cách mà một người làm, đó là bước tiếp theo.
Bước 2 — Khởi động phiên trên trang chính, sau đó tìm kiếm
Cách mở khóa là một phiên được giữ. Mở một kết nối trình duyệt đám mây, tải trang chính của eBay trước để cookie và trạng thái điều hướng ổn định, sau đó điều hướng đến URL tìm kiếm trong cùng một phiên đó. Playwright giữ kết nối CDP duy nhất với trình duyệt đám mây Scrapeless mở và điều khiển từng trang thông qua nó, vì vậy bước khởi động và tìm kiếm chia sẻ một danh tính.
python
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(scraping_browser_url("US"))
page = browser.new_page()
# 1. Khởi động phiên: đến trang chính để cookie/trạng thái điều hướng ổn định.
page.goto("https://www.ebay.com/", wait_until="domcontentloaded")
page.wait_for_timeout(2500)
# 2. Bây giờ điều hướng đến tìm kiếm trong cùng một phiên.
page.goto("https://www.ebay.com/sch/i.html?_nkw=laptop",
đợi_cho_tới="domcontentloaded")
trang.chờ_thời_gian(3000) # cho lưới hoạt động
in(trang.tựa đề()) # -> "Laptop for sale | eBay"
thẻ = trang.truy_cập_selector_tất_cả(".su-card-container") # thẻ kết quả đã được hiển thị
in(len(thẻ), "thẻ") # lưới hiện đã được lấp đầy
Với trang chủ được truy cập đầu tiên, cùng một URL tìm kiếm đã bị chặn trong Bước 1 giờ trả về tiêu đề Laptop for sale | eBay và một lưới kết quả đã được lấp đầy. Thời gian chờ ngắn wait_for_timeout sau khi điều hướng cho phép các thẻ hoạt động trước khi trích xuất. Toàn bộ sự khác biệt là thứ tự đến trong một phiên được giữ — trang chủ thiết lập ngữ cảnh duyệt web, và yêu cầu tìm kiếm kế thừa nó.
Bước 3 — Trích xuất các thẻ kết quả
eBay đã quay vòng mã HTML của thẻ kết quả, vì vậy hãy dựa vào lớp hiện tại. Các thẻ kết quả tự nhiên mang .su-card-container; bộ chọn cũ li.s-item giờ không phù hợp với gì cả. Chọn các thẻ, sau đó đọc các trường con từ mỗi thẻ.
python
def nội_dung_của(el, bộ_chọn):
nút = el.truy_cập_selector(bộ_chọn)
return nút.nội_dung_văn_bản().strip() nếu nút else None
hồ_sơ = []
cho thẻ trong trang.truy_cập_selector_tất_cả(".su-card-container"):
# Các bộ chọn con chỉ mang tính chất minh họa - xác nhận các nút tiêu đề/gia/link
# so với DOM hiện tại của eBay, vì mã HTML luân chuyển.
tiêu đề = nội_dung_của(thẻ, ".su-styled-text") # tiêu đề danh sách (đường dẫn minh họa)
giá = nội_dung_của(thẻ, ".su-styled-text.s-price") # văn bản giá (đường dẫn minh họa)
nút_link = thẻ.truy_cập_selector("a") # URL danh sách
liên_kết = nút_link.lấy_thuộc_tính("href") nếu nút_link else None
hồ_sơ.append({
"tiêu đề": tiêu đề,
"giá": giá,
"liên_kết": liên_kết,
})
in(len(hồ_sơ), "danh sách")
Gắn mỗi lần trích xuất vào .su-card-container; hãy coi các bộ chọn con (tiêu đề, giá, liên_kết) là các điểm khởi đầu để xác nhận so với DOM trực tiếp, vì eBay xáo trộn mã HTML bên trong một cách độc lập với bao bọc thẻ. Mặc định mỗi trường thiếu là None để một thẻ thưa không làm ngắt quãng quá trình chạy — eBay bỏ qua giá trong một số định dạng danh sách (các cuộc đấu giá giữa chừng, "xem chi tiết" placements), và một vài thẻ là các vị trí được tài trợ với hình dạng khác nhau.
Lấy khóa API của bạn trên kế hoạch miễn phí: app.scrapeless.com
Bước 4 — Duyệt qua kết quả và theo dõi danh sách đến các trang chi tiết
Hầu hết các công việc thực tế trải dài hơn một URL. Bởi vì phiên đã ấm và được mở, việc duyệt qua kết quả và theo dõi các danh sách cá nhân để đến trang sản phẩm của chúng không tốn thêm chi phí gì — cùng một cookie, danh tính cư trú và dấu vân tay được giữ trong suốt quá trình. eBay phân trang điểm cuối tìm kiếm với tham số truy vấn _pgn.
python
dòng = []
với sync_playwright() như p:
trình_duyệt = p.chromium.kết_nối_over_cdp(scraping_browser_url("US", session_ttl=300))
trang = trình_duyệt.new_page()
trang.goto("https://www.ebay.com/", wait_until="domcontentloaded") # ấm một lần
trang.chờ_thời_gian(2500)
cho n trong phạm_vi(1, 4): # trang 1..3
url = f"https://www.ebay.com/sch/i.html?_nkw=laptop&_pgn={n}"
trang.goto(url, wait_until="domcontentloaded")
trang.chờ_thời_gian(3000)
cho thẻ trong trang.truy_cập_selector_tất_cả(".su-card-container"):
nút_link = thẻ.truy_cập_selector("a")
nếu nút_link và nút_link.lấy_thuộc_tính("href"):
dòng.append({"liên_kết": nút_link.lấy_thuộc_tính("href")})
# Theo dõi một danh sách đến trang sản phẩm của nó trong cùng một phiên ấm.
nếu dòng:
trang.goto(dòng[0]["liên_kết"], wait_until="domcontentloaded")
h1 = trang.truy_cập_selector("h1") # tiêu đề trang sản phẩm (xác nhận với DOM)
tiêu_đề_mặt_hàng = h1.nội_dung_văn_bản() nếu h1 else None
trình_duyệt.đóng()
in(len(dòng), "danh sách đã thu thập")
Việc làm ấm trang chủ chỉ xảy ra một lần, ở đầu phiên; mỗi trang tìm kiếm và trang sản phẩm sau đó đều sử dụng lại ngữ cảnh đã thiết lập. Trang sản phẩm và các trang duyệt hoặc giao dịch xảy ra trực tiếp ngay khi phiên đã ấm — việc kiểm soát nặng nề nằm trên điểm cuối tìm kiếm cụ thể. Đối với một cuộc thu thập từ danh sách đến chi tiết, hãy thu thập các URL danh sách từ lưới tìm kiếm trước, sau đó lấy từng cái qua cùng một trình_duyệt để phiên cư trú và dấu vân tay giữ nguyên trong suốt quá trình.
Bước 5 — Tăng cường sản xuất
Chuyển từ một kịch bản hoạt động sang một công việc đáng tin cậy chủ yếu liên quan đến việc ở trong giới hạn mà nền tảng cho phép. Một vài quy tắc mang lại phần lớn trọng số:
- Giới hạn đồng thời. Giữ ở ≤3 phiên trình duyệt đám mây trên mỗi máy chủ. Đẩy qua ngưỡng đó sẽ dẫn đến giới hạn tỷ lệ và kết nối bị đặt lại, và thông lượng biên hiếm khi biện minh cho sự cản trở thêm.
- Khởi động một lần và tái sử dụng phiên. Đặt
sessionTTL(ví dụ: 240 giây) trên URL kết nối, truy cập trang chủ một lần ở đầu phiên, sau đó thực hiện mọi tìm kiếm và điều hướng mục qua cùng một kết nối Playwright. Việc khởi động lại mỗi trang lãng phí ngữ cảnh đã giữ và bắt tay kết nối. - Gán
proxyCountry=US. Các danh sách trên eBay, tiền tệ và tính khả dụng thay đổi theo khu vực; gán đường ra từ nhà ở ở Mỹ giữ kết quả nhất quán với địa phương bạn nhắm tới. - Xử lý các trường thiếu như là có thể là null. Thẻ thực có thể bỏ qua giá, xếp hạng hoặc các dòng vận chuyển trên một số định dạng danh sách. Mặc định các bộ chọn thiếu thành
Nonethay vì khẳng định chúng tồn tại, để một bản ghi thưa thớt không làm hỏng lô.
Những gì bạn nhận được
json
[
{
"title": "Dell Latitude 7420 14\" Laptop i7 16GB 512GB SSD Windows 11 Pro",
"price": "$329.99",
"link": "https://www.ebay.com/itm/1234567890"
},
{
"title": "Apple MacBook Air 13.3\" M1 8GB 256GB - Space Gray",
"price": "$489.00",
"link": "https://www.ebay.com/itm/9876543210"
},
{
"title": "Lenovo ThinkPad X1 Carbon Gen 9 i5 16GB 256GB",
"price": "$415.50",
"link": "https://www.ebay.com/itm/5556667778"
}
]
// Hình dáng phản ánh việc trích xuất Bước 3; giá trị trường là mẫu minh họa.
Một vài quan sát chân thành từ việc chạy quy trình này:
- Tìm kiếm lạnh bị từ chối; tìm kiếm ấm thì không. Điều hướng trực tiếp đến
/sch/i.htmldẫn đến một trang lỗi eBay; truy cập trang chủ trước trong cùng một phiên giữ làm sạch nó và tìm kiếm trả lại tiêu đềLaptop for sale | eBayvới lưới đã được điền. - Một thời gian chờ ngắn sau khi điều hướng bao trùm hyđrat hóa. Các thẻ kết quả tải sau khi sơn lần đầu, vì vậy một
wait_for_timeoutngắn saugotolà điều làm cho chúng khả dụng cho bộ chọn. .su-card-containerlà điểm neo ổn định. eBay đã xoay vòng mã thẻ của mình — thẻ cũli.s-itemkhông trả về gì cả. Neo trên.su-card-containervà xác nhận lại các bộ chọn trường con sau bất kỳ thiết kế lại nào.- Gán
proxyCountrycho kết quả nhất quán. Các danh sách, tiền tệ, và tính khả dụng thay đổi theo khu vực; gán đường ra từ nhà ở ở Mỹ giữ đầu ra nhất quán với địa phương bạn nhắm tới. - Các trang mục và duyệt hiển thị trực tiếp. Mức độ rào cản lớn hơn nằm trên điểm cuối tìm kiếm; khi phiên đã ấm, các trang mục, duyệt và ưu đãi tải mà không cần vòng qua trang chủ.
Kết luận: Mở rộng quy trình liệt kê eBay của bạn
Quy trình này giảm xuống còn bốn bước. Kết nối với một phiên Scrapeless Scraping Browser và khởi động nó trên trang chủ. Điều hướng đến điểm cuối tìm kiếm trong cùng một phiên giữ đó để yêu cầu thừa hưởng một ngữ cảnh duyệt thiết lập. Trích xuất lưới kết quả bằng cách neo vào .su-card-container. Sau đó, hãy qua các kết quả và theo các danh sách đến trang chi tiết qua một phiên ấm duy nhất. Bạn chỉ trả tiền cho trình duyệt đám mây khi bạn thực sự cần nó — xem giá Scrapeless để biết những gì mức miễn phí bao gồm — và phần còn lại vẫn là Python đơn giản.
Từ đây, mẫu phiên ấm tương tự có thể được sử dụng trong các xây dựng thị trường lớn hơn. Xem tổng hợp các công cụ lấy dữ liệu Amazon tốt nhất để so sánh các thị trường lớn, và Các công cụ lấy dữ liệu Zillow tốt nhất năm 2026 cho so sánh công cụ định giá theo địa phương. Trước khi bạn gửi: xuất SCRAPELESS_API_KEY, gán proxyCountry=US, khởi động phiên trên trang chủ trước khi truy cập /sch/, giữ đồng thời ≤3 phiên mỗi máy chủ, neo trên .su-card-container, và xử lý các trường thiếu như là có thể là null. Hướng dẫn kết nối và thư viện tại docs.scrapeless.com.
Sẵn sàng xây dựng quy trình dữ liệu AI của bạn?
Tham gia cộng đồng của chúng tôi để nhận gói miễn phí và kết nối với các nhà phát triển đang xây dựng quy trình dữ liệu eBay và thị trường: Discord · Telegram.
Đăng ký tại app.scrapeless.com để có thời gian chạy Scraping Browser miễn phí và điều chỉnh các mẫu ở trên cho các truy vấn và khu vực eBay mà quy trình cần.
Câu hỏi thường gặp
Bạn có cần một proxy không?
Có — đường ra từ nhà ở cần một phiên bản eBay. Gán các proxy dân cư Mỹ với proxyCountry=US trên URL kết nối. Scrapeless Scraping Browser cung cấp các proxy dân cư tại hơn 195 quốc gia, vì vậy bạn không cần tự mình cung cấp và xoay vòng địa chỉ IP, và địa chỉ đường ra trông giống như một kết nối nhà thông thường thay vì một IP trung tâm dữ liệu bị đánh dấu.
Tại sao điểm cuối tìm kiếm trả về "Truy cập bị từ chối"?
Một điều hướng tự động lạnh đến https://www.ebay.com/sch/i.html dẫn đến một trang lỗi eBay vì yêu cầu đến mà không có ngữ cảnh duyệt web đã được thiết lập - eBay quản lý đường dẫn tìm kiếm chặt chẽ hơn so với các trang sản phẩm và duyệt của nó. Giải pháp là làm ấm phiên đầu tiên: mở một phiên trình duyệt đám mây đang giữ, tải trang chính của eBay để cookie và trạng thái duyệt ổn định, sau đó điều hướng đến URL tìm kiếm trong cùng một phiên. Tìm kiếm sau đó sẽ tải với tiêu đề Laptop for sale | eBay và một lưới đầy đủ dữ liệu.
Các bộ chọn của tôi ngừng khớp sau khi eBay thiết kế lại. Làm thế nào để sửa nó?
eBay xoay vòng DOM của nó. Gắn chặt việc trích xuất của bạn vào bộ bao bọc thẻ kết quả .su-card-container thay vì vào một đường dẫn con sâu, và xác nhận lại các bộ chọn tiêu đề, giá và liên kết đối với đánh dấu hiện tại sau khi thiết kế lại. Bộ chọn cũ li.s-item không khớp với bất kỳ điều gì trên giao diện hiện tại, đó là lý do tại sao bộ bao bọc thẻ là điểm neo ổn định.
Có giới hạn đồng thời nào bạn nên tôn trọng không?
Giữ nó ở mức ≤3 phiên trình duyệt đám mây mỗi máy chủ. Vượt qua mức đó, bạn sẽ đổi lấy một ít thông lượng để lấy rất nhiều giới hạn tỷ lệ và đặt lại kết nối. Sử dụng đồng thời có giới hạn và một hàng đợi thay vì phát mỗi yêu cầu một lúc.
Điều này có thể chạy mà không cần một tác nhân AI không?
Có. Mẫu Python ở trên là đầu-cuối hoàn toàn - Playwright kết nối với Trình duyệt Gỡ lỗi Scrapeless qua CDP, và mã của bạn làm ấm phiên, điều hướng và trích xuất. Một tác nhân AI là một lớp tùy chọn trên đầu, không phải là yêu cầu.
Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.



