24/04/2022
✍️ 𝐖𝐞𝐛 𝐂𝐫𝐚𝐰𝐥𝐢𝐧𝐠 𝐯𝐬 𝐖𝐞𝐛 𝐒𝐜𝐫𝐚𝐩𝐢𝐧𝐠
Hiện nay, chắc các bạn không còn lạ với bán hàng online, livestream, qua websites, landing pages đang trở thành xu thế kinh doanh chủ yếu. Đi cùng với đó là một khối lượng data vô cùng lớn được tạo ra hàng giây, hàng phút. Có thể tận dụng được những insight và sức mạnh đằng sau những con số đó sẽ giúp công ty và doanh nghiệp của các bạn có một lợi thế cạnh tranh đẳng cấp với đối thủ 💪
🕵️Khi phân tích dữ liệu marketing, bạn sẽ thường phải trích xuất dữ liệu từ các trang web (đây là quá trình extract trong ETL (extract-transform-load)) trong một vài các tình huống như:
- Bạn cần xem web đối thủ cạnh tranh bán những sản phẩm gì
- Bạn cần xem một livestream bán hàng trên facebook có những số điện thoại nào được comment trong hàng nghìn comments
- Bạn cần xem một group trên MXH hay đăng về các topics gì.....
💡 Web Crawling và Web Scraping là hai khái niệm có liên quan với nhau và có thể có nhiều người nhầm lẫn hoặc chưa phân biệt được sự khác nhau giữa hai khái niệm này. Web Crawling là quá trình thu thập thông tin từ các Website trên mạng Internet theo các đường links cho trước. Các Web Crawler sẽ truy cập các links này để download toàn bộ nội dung của trang web cũng như tìm kiếm thêm các đường links bên trong để tiếp tục truy cập và download nội dung từ các đường links này. Dữ liệu sau khi được tải về sẽ được đánh chỉ số (indexing) rồi lưu vào cơ sở dữ liệu.
💡 Web Scraping cũng thực hiện việc tìm kiếm và thu thập thông tin nhưng khác với Web Crawling, Web Scraping không thu thập toàn bộ thông tin của một trang web mà chỉ thu thập những thông tin cần thiết, phù hợp với mục đích của người dùng. Trong WebScraping chúng ta cũng phần nào sử dụng WebCrawler để thu thập dữ liệu, kết hợp với Data Extraction (trích xuất dữ liệu) để tập trung vào các nội dung cần thiết.
💡 Ví dụ như đối với trang amazon.com, Web Crawling sẽ thu thập toàn bộ nội dung của trang web này (tên các sản phẩm, thông tin chi tiết, bảng giá, hướng dẫn sử dụng, các reviews và comments về sản phẩm,…). Tuy nhiên Web Scraping có thể chỉ thu thập thông tin về giá của các sản phẩm để tiến hành so sánh giá này với các trang bán hàng online khác.
✍️ Làm thế nào để Web Scraping với Python
Tham khảo trang sau với guideline rất dễ hiểu, phù hợp với ngay cả beginner Python: https://www.learndatasci.com/tutorials/ultimate-guide-web-scraping-w-python-requests-and-beautifulsoup/
💡Trong hướng dẫn ở link trên, requests.get và BeautifulSoup được sử dụng
💡Ý tưởng cơ bản là lấy HTML với request.get (url) và sau đó parse content từ request đó với BeautifulSoup. Công việc của request là tải nội dung HTML xuống máy tính của bạn.
💡Nếu bạn muốn bắt đầu trên trang chủ của một trang web và quét nhiều trang, bạn cần phải dùng:
request.get () URL của trang chủ
💡Parse HTML từ trang chủ bằng cách sử dụng BeautifulSoup, trích xuất tất cả các links. Sau đó sẽ request.get () mỗi links trong một vòng lặp