Asked Nov 24th, 2021 1:22 PM 162 0 1
  • 162 0 1
0

Làm sao scrape những trang web động như Tiki và Lazada bằng scrapy-splash Python

Share
  • 162 0 1

Hiện tại em đang làm một project nhỏ về Data Science có một bước là cần crawl data về.

Em đã tham khảo nhiều framework thì em quyết định chọn scrapysplash để thực hiện công việc này. Có một điều đó là, hiện tại em chưa có kiến thức về frontend cũng như JS để có thể tự thực hiện công việc một cách mượt mà nhất, nên khi tiến hành scrape trên Tiki em phát hiện ra nếu chỉ đơn giản dùng mỗi SplashRequest cho một trang ví dụ như f'https://tiki.vn/nha-sach-tiki/c8322?page={page_no}' thì cho dù page_no có giá trị bao nhiêu thì kết quả luôn giống hệt trang 'https://tiki.vn/nha-sach-tiki/c8322?page=1'. điều này cũng tương tự với Lazada (bên này em thấy còn không render cả tên sản phẩm cho).

Vậy các bác đi trước có thể cho em xin lời khuyên cũng như hướng đi được không ạ. Em xin chân thành cảm ơn ạ. Mọi đóng góp em đều tiếp thu ạ

1 ANSWERS


Answered Nov 24th, 2021 1:28 PM
+2

Bạn có thể xem lại xem có code sai đoạn nào không, chứ lúc trước mình cũng từng crawl data tiki rồi, thì page_no khác --> kết quả khác mà

P/s: Source tham khảo khác (có thể bạn cũng đọc rồi): https://chidokun.github.io/2020/05/crawl-tiki-products/

Share
Avatar Duy Hung @raisinbl
Nov 24th, 2021 2:16 PM

@tungbuitien dạ em chưa dùng lua script để render thêm nên cũng không rõ lắm ạ! không biết anh có thể thử lại bằng scrapy-splash không ạ.
Em để ý khi dùng scrapy shell để test: scrapy shell 'http://localhost:8050/render.html?url=https://tiki.vn/nha-sach-tiki/c8322?page=..&wait=..' thì thi thoảng lắm mới ra đúng được trang web còn không sẽ trả về trang đầu tiên như câu hỏi của em hoặc là hiện lên thông báo quay lại thời điểm khác kiểu này 🤣 image.png

0
| Reply
Share
Avatar Bui Tien Tung @tungbuitien
Nov 24th, 2021 4:05 PM

@raisinbl cái này bạn phải tự vọc code rồi, ngày trước mình chỉ dùng requests để lấy file html, xong dùng BeautifulSoup để lấy id cần thiết thôi, việc còn lại thì gọi API của tiki là có hết rồi

0
| Reply
Share
Nov 27th, 2021 4:58 PM

@tungbuitien thế claim voucher. Bạn đã thử chưa?

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.