Tôi muốn làm một trang web hiển thị so sánh giữa giá sản phẩm amazon và e-bay. Cái nào trong số này sẽ hoạt động tốt hơn và tại sao? Tôi có phần quen thuộc với BeautifulSoup nhưng không quá nhiều với trình thu thập dữ liệu Scrapy .
Tôi muốn làm một trang web hiển thị so sánh giữa giá sản phẩm amazon và e-bay. Cái nào trong số này sẽ hoạt động tốt hơn và tại sao? Tôi có phần quen thuộc với BeautifulSoup nhưng không quá nhiều với trình thu thập dữ liệu Scrapy .
Câu trả lời:
Scrapy là một khung quét web-spider hoặc web , Bạn cung cấp cho Scrapy một URL gốc để bắt đầu thu thập thông tin, sau đó bạn có thể chỉ định các ràng buộc về số lượng (số) URL bạn muốn thu thập và tìm nạp, v.v. Nó là một khung hoàn chỉnh để quét web hoặc thu thập dữ liệu .
Trong khi
BeautifulSoup là một thư viện phân tích cú pháp cũng thực hiện khá tốt việc tìm nạp nội dung từ URL và cho phép bạn phân tích một số phần của chúng mà không gặp rắc rối. Nó chỉ tìm nạp nội dung của URL mà bạn cung cấp và sau đó dừng lại. Nó không thu thập dữ liệu trừ khi bạn tự đặt nó vào một vòng lặp vô hạn với các tiêu chí nhất định.
Nói một cách đơn giản, với Beautiful Soup bạn có thể xây dựng một thứ tương tự như Scrapy. Beautiful Soup là một thư viện trong khi Scrapy là một khung hoàn chỉnh .
Tôi nghĩ cả hai đều tốt ... tôi đang làm một dự án ngay bây giờ sử dụng cả hai. Đầu tiên tôi loại bỏ tất cả các trang bằng cách sử dụng phế liệu và lưu nó vào bộ sưu tập mongodb bằng cách sử dụng các đường ống của chúng, đồng thời tải xuống các hình ảnh tồn tại trên trang. Sau đó, tôi sử dụng BeautifulSoup4 để thực hiện xử lý pos trong đó tôi phải thay đổi các giá trị thuộc tính và nhận một số thẻ đặc biệt.
Nếu bạn không biết sản phẩm nào bạn muốn, một công cụ tốt sẽ bị loại bỏ vì bạn có thể sử dụng trình thu thập thông tin của họ để chạy tất cả trang web amazon / ebay tìm kiếm sản phẩm mà không cần tạo vòng lặp rõ ràng.
Hãy xem tài liệu phế liệu, nó rất đơn giản để sử dụng.
Cả hai đều sử dụng để phân tích dữ liệu.
Phế liệu :
BeautifulSoup :
Beautiful Soup là một thư viện Python để lấy dữ liệu ra khỏi các tệp HTML và XML.
chúng ta có thể sử dụng gói này để lấy dữ liệu từ tập lệnh java hoặc tải trang động.
Scrapy with BeautifulSoup là một trong những kết hợp tốt nhất chúng ta có thể làm việc để cạo các nội dung tĩnh và động
Cách tôi làm là sử dụng API của eBay / Amazon chứ không phải là phế liệu, và sau đó phân tích kết quả bằng BeautifulSoup.
Các API cung cấp cho bạn một cách chính thức để có được cùng một dữ liệu mà bạn đã nhận được từ trình thu thập dữ liệu phế liệu, không cần phải lo lắng về việc che giấu danh tính của mình, gây rối với proxy, v.v.
Scrapy Đây là một khung quét web đi kèm với hàng tấn các tính năng giúp việc quét từ dễ dàng hơn để chúng ta chỉ có thể tập trung vào thu thập dữ liệu logic. Một số điều yêu thích của tôi phế liệu chăm sóc cho chúng tôi dưới đây.
Thiết lập proxy, tác nhân người dùng, tiêu đề, v.v: phế liệu cho phép chúng tôi thiết lập và xoay proxy và các tiêu đề khác một cách linh hoạt.
Mục Pipelines : Pipelines cho phép chúng tôi xử lý dữ liệu sau khi trích xuất. Ví dụ: chúng tôi có thể định cấu hình đường ống để đẩy dữ liệu đến máy chủ mysql của bạn.
Cookies: phế liệu tự động xử lý cookie cho chúng tôi.
Vân vân.
TLDR: phế liệu là một khung cung cấp mọi thứ mà người ta có thể cần để xây dựng các thu thập thông tin quy mô lớn. Nó cung cấp các tính năng khác nhau để che giấu sự phức tạp của việc thu thập dữ liệu web. người ta có thể chỉ cần bắt đầu viết trình thu thập dữ liệu web mà không phải lo lắng về gánh nặng thiết lập.
Beautiful Soup Beautiful Soup là gói Python để phân tích tài liệu HTML và XML . Vì vậy, với súp đẹp, bạn có thể phân tích một trang web đã được tải xuống. BS4 rất phổ biến và cũ. Không giống như phế liệu, Bạn không thể chỉ sử dụng món súp đẹp mắt để làm bánh bò . Bạn sẽ cần các thư viện khác như request, urllib, v.v. để tạo trình thu thập thông tin với bs4. Một lần nữa, điều này có nghĩa là bạn sẽ cần quản lý danh sách các url được thu thập, được thu thập, xử lý cookie, quản lý proxy, xử lý lỗi, tạo các hàm của riêng bạn để đẩy dữ liệu lên CSV, JSON, XML, v.v. Nếu bạn muốn tăng tốc hơn bạn sẽ phải sử dụng các thư viện khác như đa xử lý .
Tóm lại.
Scrapy là một khung công tác phong phú mà bạn có thể sử dụng để bắt đầu viết trình thu thập thông tin mà không gặp rắc rối.
Súp đẹp là một thư viện mà bạn có thể sử dụng để phân tích một trang web. Nó không thể được sử dụng một mình để cạo web.
Bạn chắc chắn nên sử dụng phế liệu cho trang web so sánh giá sản phẩm amazon và e-bay của bạn. Bạn có thể xây dựng cơ sở dữ liệu của url và chạy trình thu thập thông tin mỗi ngày (công việc cron, Celery để lập lịch thu thập thông tin) và cập nhật giá trên cơ sở dữ liệu của bạn. Cách này trang web của bạn sẽ luôn lấy từ cơ sở dữ liệu và trình thu thập thông tin và cơ sở dữ liệu sẽ hoạt động như các thành phần riêng lẻ.
BeautifulSoup là một thư viện cho phép bạn trích xuất thông tin từ một trang web.
Mặt khác, phế liệu là một khung, thực hiện những điều trên và nhiều thứ khác mà bạn có thể cần trong dự án cạo của bạn như các đường ống để lưu dữ liệu.
Bạn có thể kiểm tra blog này để bắt đầu với Scrapy https://www.inkoop.io/blog/web-scraping-USE-python-and-scrapy/
Sự khác biệt là rất nhiều và việc lựa chọn bất kỳ công cụ / công nghệ nào phụ thuộc vào nhu cầu cá nhân.
Một số khác biệt chính là: