~ Một câu chuyện về việc thu thập thông tin trên web của Arya – A ProxyScrape người sử dụng
Để rõ ràng hơn, tôi được yêu cầu phải tuyên bố rằng tôi không phải là đại diện chính thức của ProxyScrape . Tuy nhiên, tôi là một người hâm mộ lớn và là khách hàng của dịch vụ của họ. Nếu bạn chưa sử dụng dịch vụ của họ, tôi thực sự khuyên bạn nên sử dụng! Các ý kiến và suy nghĩ sau đây hoàn toàn là của riêng tôi.
“Ôi $!*^, không thể nào”
Đó chính xác là những suy nghĩ mà tôi thấy mình lẩm bẩm lúc 3 giờ sáng, vật lộn với nhận thức rằng một công ty từng thịnh hành như dịch vụ giao sữa, thứ mà hầu hết mọi người sẽ gán cho thời đại nhạc disco và những bộ trang phục neon hoang dã, vẫn đang thịnh hành như kiểu tóc xấu xí của thập niên 80 - và thật không may, nó ở khắp mọi nơi.
Công ty này là một công ty thực sự trong thời kỳ đỉnh cao. Ý tôi là, bạn không thể thoát khỏi nó trong thời kỳ hoàng kim của nó. Bây giờ, tên của nó chỉ được lẩm bẩm với một chút hoài niệm trong các viện dưỡng lão.
“Trang Vàng.”
Bạn có thể tự hỏi, "Tại sao điều này lại quan trọng? Tại sao mọi người phải quan tâm? Tại sao đây không phải là TikTok của những năm 30 với một anh chàng chơi GTA 5 ở nửa bên kia của nó? " Vâng, một trong những ứng dụng phổ biến nhất của việc thu thập dữ liệu web là khám phá và tạo khách hàng tiềm năng. Trong xứ sở thần tiên tư bản của chúng ta, nơi mọi người đang rao bán một số thứ điên rồ, thì việc lướt internet để tìm những kẻ ngốc sẽ "HODL" và "FOMO" vào kỳ nghỉ chia sẻ tiền điện tử của bạn có hình dạng giống như "một nửa hình thoi" là điều hợp lý. Và này, để làm rõ, "nó KHÔNG phải là một kế hoạch kim tự tháp... nó chỉ có hình dạng giống như những thứ nhọn nổi tiếng ở Ai Cập."
Vậy thì, đây là điều thú vị. Theo ý kiến khiêm tốn của tôi, một trong những viên ngọc quý tuyệt đối cho việc tạo khách hàng tiềm năng B2B không gì khác chính là YellowPages (hay Yell dành cho những người "chewsday"). Tại sao? Vâng, hãy để tôi phân tích:
“bức tường xấu hổ”: Những di tích chưa bắt kịp thời đại internet vẫn còn treo lơ lửng ở đó. Công việc kinh doanh của ông nội bạn có lẽ đang trì trệ ở đó, giống như SMMA mà bạn đã bắt đầu vì TikToks và thề sẽ từ bỏ trong vòng ba tháng, giờ đây đã được lưu danh trên danh bạ doanh nghiệp của Google.
“Tôi không giống những cô gái khác”: Trong khi những kẻ mới vào nghề tin rằng Google Maps là chén thánh cho các khách hàng tiềm năng của doanh nghiệp nhỏ, thì mọi kẻ thông minh đều biết rằng đó là một đống rác rưởi - nó đã bão hòa, mọi đứa trẻ 14 tuổi lấy cảm hứng từ một người đàn ông hói nào đó đã quấy rối các doanh nghiệp đó.
“giống như lấy kẹo từ một đứa trẻ”: YellowPages và các trang web phái sinh của họ không có một chút bảo vệ nào. Tôi có thể thu thập mọi doanh nghiệp trong danh bạ của họ trong vài giây. Chúng ta đang nói về HÀNG CHỤC TRIỆU khách hàng tiềm năng ở đây.
Chắc chắn, nó có thể không phải là từ thông dụng trong giới tiếp thị, nhưng đó chính là cơ hội. Khi những người khác chạy theo xu hướng mới nhất, số ít người hiểu biết nhận ra tiềm năng trong những góc khuất bị lãng quên của Internet. YellowPages có thể là di tích của quá khứ, nhưng trong thế giới tạo khách hàng tiềm năng, đó là di tích có tiềm năng chưa được khai thác và là lộ trình dẫn đến thành công.
Bây giờ, bạn có thể hỏi, "Làm sao tôi có thể tận dụng cơ hội như vậy?" – Chúng ta hãy cùng nhau thực hiện từng bước và hy vọng rằng ngay cả một số người Neanderthal cũng có thể tìm hiểu được YellowPages vào cuối bài viết này.
Chúng tôi sẽ tiếp cận vấn đề này giống như chúng tôi tiếp cận bất kỳ trang web nào khác. Bước đầu tiên là tìm hiểu xem trang web hoạt động như thế nào. Điều này thường yêu cầu bạn, vâng, chính bạn, phải tìm ra cách điều hướng đến nơi dữ liệu hấp dẫn đó đang nằm. Không $!*^… bạn mong đợi trích xuất dữ liệu như thế nào nếu bạn không thể tìm thấy nó?!?
Hiển thị ở trên: Trang đích của YellowPages Canada , nạn nhân đáng tiếc của bài đăng này.
Như bạn có thể thấy ở trên trên trang đích của họ, có hai đầu vào văn bản – một cho thuật ngữ tìm kiếm của bạn và một cho vị trí. Hãy điền vào những mục này và thực hiện tìm kiếm; Tôi sẽ tìm kiếm “Bác sĩ nha khoa” ở “Toronto, Ontario”.
Hiển thị ở trên: Trang kết quả niêm yết của YellowPages Canada.
Sau khi bạn hiểu rõ bảng chữ cái ABC, điền thông tin vào và tìm được nút tìm kiếm VÀ nhấp vào nút đó (tôi rất ấn tượng), bạn sẽ được chuyển hướng đến một trang như trang trên có đường dẫn như sau:
/search/si/1/Bác sĩ nha khoa/Toronto+ON
Chúng ta có thể suy ra cấu trúc đường dẫn sau (điều này sẽ hữu ích sau):
/search/si/[Số trang]/[Thuật ngữ tìm kiếm]/[Địa phương]+[Mã vùng]
Một điều nữa cần lưu ý là chúng ta đã xác định được vị trí dữ liệu mình muốn, danh sách doanh nghiệp – hãy tìm hiểu xem danh sách doanh nghiệp này được tải từ đâu, dữ liệu này phải được gửi trong tài liệu HOẶC lấy từ điểm cuối API (hoặc nếu bạn không rành, và tin tôi đi, tôi đã từng thấy – websockets).
Hiển thị ở trên: Các yêu cầu fetch/XHR bắt nguồn từ trang. (Bật mí: dữ liệu không có trong bất kỳ yêu cầu nào trong số đó.)
Hiển thị ở trên: Danh sách doanh nghiệp trong tài liệu. (Ôi trời ơi, dữ liệu thực sự nằm trong tài liệu.)
Khi chúng tôi sàng lọc qua các yêu cầu API, tìm kiếm dữ liệu, thì thấy rằng vô ích. Sau đó, chúng tôi chuyển sự chú ý sang HTML. Bây giờ, đây là một chút hiểu biết dành cho bạn – sau khi “điều hướng bối cảnh kỹ thuật số trong hơn một thập kỷ”, tôi biết theo bản năng rằng dữ liệu nằm trong tài liệu, nhờ vào khả năng phản hồi nhanh của các trang.
Nhưng hãy thực tế đi. Với tình trạng của YellowPages như một công ty danh bạ điện thoại đang tuyệt vọng tìm kiếm sự liên quan và quan trọng hơn là doanh thu, thì không có khả năng họ đang phô trương các công nghệ tiên tiến. Khả năng họ thuê các nhà phát triển phô trương và có năm mươi ứng dụng việc cần làm dựa trên React trong sơ yếu lý lịch của họ là rất thấp. Vậy, chúng ta có thực sự bị sốc khi trang web này là tĩnh không?
Tuy nhiên, các danh sách trong trang được chứa trong một div, có thể trích xuất bằng bộ chọn “div.resultList“. Mỗi danh sách riêng lẻ, được lồng vào nhau một cách thuận tiện trong phần tử đã đề cập ở trên, có thể được trích xuất bằng bộ chọn div[itemtype="http://schema.org/Doanh nghiệp địa phương]
Tôi sẽ để bạn tự tìm cách trích xuất dữ liệu riêng lẻ vượt quá mức độ chi tiết này; nếu không, chúng ta sẽ ở đây mãi mãi. Sử dụng thuộc tính “itemprop” — nó sẽ giúp bạn dễ dàng hơn đáng kể trong quá trình này.
Bây giờ, để tự động trích xuất: Bạn nên phân trang qua các kết quả bằng URL (nhớ lại cấu trúc đường dẫn mà chúng ta đã thảo luận trước đó), trích xuất các phần tử và dữ liệu từ mỗi trang cho đến khi bạn gặp một trang trống. Cá nhân tôi đã chọn sử dụng Rust cho dự án này vì nó nhanh và cung cấp khả năng song song hóa dễ dàng (điều này sẽ quan trọng sau), tận dụng các thùng "reqwest" và "select" để xử lý các công việc nặng nhọc. Và đây là một vài mẹo chuyên nghiệp: hãy nhớ xoay vòng tác nhân người dùng của bạn, đặt đúng người giới thiệu, sử dụng proxy và XIN VUI LÒNG không DDOS họ.
Hiển thị ở trên: Trang kết quả trống của YellowPages.
Kịch bản của bạn có thể chạy tốt ngay bây giờ. Nhưng làm thế nào chúng ta có thể nâng cao hơn nữa? Hãy đưa tế bào não kết hợp đơn lẻ của chúng ta vào hoạt động và suy ngẫm… “Chúng ta có cần yêu cầu tuần tự từng trang không?” Hoàn toàn không. YellowPages giúp chúng ta dễ dàng song song hóa quy trình này bằng cách cung cấp số trang có sẵn cho truy vấn – gợi ý, gợi ý, nháy mắt, nháy mắt.
Hiển thị ở trên: Số trang của YellowPages ở cuối trang kết quả.
Tuy nhiên, có một cảnh báo đối với chiến lược song song hóa này: Mặc dù YellowPages có thể gợi ý rằng có hơn 60 trang kết quả, nhưng việc cố gắng truy cập bất kỳ trang nào vượt quá 60 trang trên kết quả sẽ không hiển thị. Do đó, hãy đặt giới hạn cứng cho quá trình song song hóa của bạn ở mức 60. Giả sử băng thông và sức mạnh tính toán đủ - mọi trang kết quả sẽ được thu thập trong cùng thời gian bạn cần để thu thập một trang trong mô hình tuần tự.
Hiển thị ở trên: Ví dụ về dữ liệu danh sách được trích xuất của YellowPages.
Bây giờ, bạn có thể tự hỏi, đây có phải là clickbait không? Phần "triệu phú" có liên quan gì đến tất cả những điều này? Vâng, nếu bạn đã theo dõi và hiện sở hữu một tập lệnh chức năng, tôi có thể hoặc không thể đích thân xác nhận rằng không có gì ngăn cản bạn về mặt lý thuyết lặp lại qua mọi thành phố ở Canada và lấy mọi danh sách doanh nghiệp từ một truy vấn trong thành phố đó từ YellowPages. Dữ liệu này có thể thực sự có giá trị bằng hàng triệu đô la nếu được tăng cường đúng cách, nhưng nó cũng thực sự là hàng triệu doanh nghiệp trong danh bạ của họ hiện nằm trong tầm tay bạn.
YellowPages có thể gợi lại ký ức về một thời đã qua, tiềm năng của nó đối với việc tạo ra khách hàng tiềm năng B2B vẫn là một kho báu ẩn giấu trong bối cảnh kỹ thuật số. Bằng cách điều hướng những điểm kỳ quặc của giao diện web tĩnh, việc thu thập dữ liệu từ nền tảng dường như đã lỗi thời này sẽ tiết lộ một loạt các khách hàng tiềm năng kinh doanh. Bản chất bị bỏ qua và chưa được sử dụng hết của YellowPages khiến nó trở thành một cơ hội độc đáo.
Mục tiêu duy nhất của tôi là bài đăng trên blog này sẽ không khiến bạn nghĩ rằng "kho báu thực sự là những người bạn mà chúng ta đã kết bạn trên đường đi" - Tôi hy vọng bài viết này vừa chứng minh được những cơ hội độc đáo hiện hữu, đặc biệt là với bộ kỹ năng mà nhiều người trong chúng ta coi là hiển nhiên, vừa hy vọng là bài đọc thú vị cho những ai có kinh nghiệm trong lĩnh vực này, đồng thời cung cấp cái nhìn sâu sắc cho những ai chưa có.
Như mọi khi, hãy giữ an toàn, sử dụng biện pháp bảo vệ và vì Chúa… đừng làm điều gì khiến FBI phải theo dõi bạn – trong trường hợp này thì đó là RCMP.
Hình trên: Lực lượng tương đương FBI của Canada – RCMP.