~ Một câu chuyện webscraping của Arya - A ProxyScrape người dùng Để rõ ràng, tôi được yêu cầu đưa ra tuyên bố từ chối trách nhiệm 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 fan hâm mộ lớn và 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 làm như vậy! Các
~ Một câu chuyện webscraping của Arya - A ProxyScrape người dùng
Để rõ ràng, tôi bắt buộc phải đưa ra tuyên bố từ chối trách nhiệm 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 fan hâm mộ lớn và 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 làm như vậy! Những ý kiến và suy nghĩ sau đây hoàn toàn là của riêng tôi.
"Ôi $!*^, không có cách nào"
Đó chính xác là cảm xúc 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 ra rằng một công ty từng hợp thời trang như giao sữa, thứ mà hầu hết mọi người sẽ ký thác vào kỷ nguyên của nhạc disco và những bộ trang phục neon hoang dã đó, vẫn đang đá xung quanh như một kiểu tóc xấu 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à thỏa thuận thực sự trong thời kỳ đỉnh cao của nó. Ý tôi là, bạn không thể thoát khỏi nó trong thời 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 nhà hưu trí.
"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 nên cho một cái chết tiệt? Tại sao đây không phải là một TikTok thập niên 30 với một anh chàng chơi GTA 5 ở nửa còn lại của nó?" Chà, một trong những cách sử dụng nóng nhất để quét 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ố sh * t điên rồ, thật hợp lý khi lùng sục trên internet để tìm những kẻ hút sẽ "HODL" và "FOMO" vào chia sẻ thời gian tiền điện tử của bạn có hình dạng như "nửa hình thoi". Và này, chỉ cần nói rõ, "nó KHÔNG phải là một sơ đồ kim tự tháp... nó có hình dạng giống như những thứ nhọn nổi tiếng ở Ai Cập.
Vì vậy, đây là kicker. Một trong những viên ngọc tuyệt đối cho thế hệ khách hàng tiềm năng B2B, theo ý kiến khiêm tốn của tôi, không ai khác chính là YellowPages (hoặc Yell for you "chewsday" people). Tại sao? Vâng, hãy để tôi chia nhỏ nó:
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 đó là cơ hội. Khi những người khác theo đuổi các xu hướng mới nhất, một số ít hiểu biết nhận ra tiềm năng trong các góc bị lãng quên của internet. YellowPages có thể là một di tích từ quá khứ, nhưng trong thế giới của thế hệ khách hàng tiềm năng, đó là một di tích với tiềm năng chưa được khai thác và một lộ trình để thành công.
Bây giờ, bạn có thể hỏi, "Làm thế nào tôi sẽ tận dụng cơ hội như vậy?" - Hãy cùng nhau đi qua từng bước, và hy vọng, ngay cả một số bạn người Neanderthal cũng có thể cạo YellowPages vào cuối năm nay.
Chúng tôi sẽ tiếp cận điều này giống như bất kỳ trang web nào khác. Bước đầu tiên là tìm hiểu cách thức hoạt động của f * ck trang web. Điều này thường đòi hỏi bạn, vâng, bạn, phải tìm ra cách điều hướng đến nơi dữ liệu ngon ngọt đó đang ngồi. Không có $!*^... Làm thế nào để bạn mong đợi để trích xuất dữ liệu nếu bạn không thể tìm thấy nó pooky?!?
Hiển thị ở trên: Trang đích của YellowPages Canada, nạn nhân không may 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 cụm từ tìm kiếm của bạn và một cho vị trí. Hãy điền vào những điều này và thực hiện tìm kiếm; Tôi sẽ tìm kiếm "Nha sĩ" ở "Toronto, Ontario".
Hiển thị ở trên: Trang kết quả niêm yết của YellowPages Canada.
Khi bạn tìm ra ABC của mình và điền chúng vào và quản lý để xác định vị trí nút tìm kiếm VÀ nhấp vào nó (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/Dentists/Toronto+ON
Chúng ta có thể suy ra cấu trúc đường dẫn sau (điều này sẽ có ích sau):
/search/si/[Số trang]/[cụm từ tìm kiếm]/[địa phương]+[mã vùng]
Một điều khác cần lưu ý, chúng tôi đã định vị dữ liệu chúng tôi muốn, danh sách doanh nghiệp - hãy tìm hiểu xem các danh sách doanh nghiệp này đang được tải từ đâu, nó sẽ được gửi trong tài liệu HOẶC được tìm nạp từ điểm cuối API (hoặc nếu bạn khó chịu và tin tôi đi, tôi đã thấy nó - websockets).
Hiển thị ở trên: Các yêu cầu tìm nạp / XHR bắt nguồn từ trang. (Spoiler: dữ liệu không có trong bất kỳ dữ liệu nào trong số đó.)
Hiển thị ở trên: Danh sách doanh nghiệp trong tài liệu. (OMGEEE Dữ liệu trên thực tế 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, nó đã được chứng minh là 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 sâu sắc 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 linh hoạt của các trang.
Hãy là sự thật, mặc dù. Với vị thế 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, không có khả năng họ đang phô trương các ngăn xếp công nghệ tiên tiến. Cơ hội để họ thuê các nhà phát triển phô trương flannels 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 mong manh. Vì vậy, chúng tôi có thực sự bị sốc khi trang web là tĩnh?
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 cách sử dụng bộ chọn "div.resultList". Mỗi danh sách riêng lẻ, được lồng nhau thuận tiện trong phần tử nói trên, có thể được trích xuất bằng bộ chọn div[itemtype="http://schema.org/LocalBusiness]
Tôi sẽ để bạn tìm ra cách trích xuất riêng lẻ dữ liệu vượt quá mức độ chi tiết này; Nếu không, chúng tôi 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ể quy trình.
Bây giờ, để tự động trích xuất: Bạn nên phân trang qua các kết quả bằng cách sử dụ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 nhấn 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 dễ dàng (điều này sẽ rất quan trọng trong một giây), tận dụng các thùng "reqwest" và "select" để xử lý 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 tác nhân người dùng của bạn, đặt liên kết giới thiệu của bạn một cách chính xác, sử dụng proxy và VUI LÒNG không DDOS chúng.
Hiển thị ở trên: Trang kết quả trống của YellowPages.
Kịch bản của bạn nên tốt để đi ngay bây giờ. Nhưng làm thế nào chúng ta có thể nâng cao điều này hơn nữa? Hãy đặt tế bào não kết hợp đơn lẻ của chúng ta để làm việc 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 tôi dễ dàng song song hóa quá trình này bằng cách cung cấp số lượng 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 cho chiến lược song song này: Mặc dù YellowPages có thể đề xuất hơn 60 trang kết quả tồn tại, nhưng cố gắng truy cập bất kỳ trang nào vượt quá 60 trên kết quả sẽ không hiển thị. Do đó, hãy đặt giới hạn cứng cho song song 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ả nên được cạo trong cùng một thời gian bạn sẽ cần cạo 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ủa YellowPages được trích xuất.
Bây giờ, bạn có thể tự hỏi, đây có phải là clickbait không? "Triệu phú" có liên quan gì đến tất cả những điều này? Chà, nếu bạn đã theo dõi và bây giờ sở hữu một tập lệnh chức năng, tôi có thể hoặc không thể chứng thực cá nhân rằng không có gì ngăn cản bạn lặp lại về mặt lý thuyết 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ố nói trên từ YellowPages. Dữ liệu này theo nghĩa đen có thể giữ giá trị hàng triệu đô la nếu được tăng cường đúng cách, nhưng nó cũng có nghĩa đen là hàng triệu doanh nghiệp trong thư mục của họ hiện đang nằm trong tầm tay của bạn.
YellowPages có thể gợi lên những ký ức về một thời đạ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ều kỳ quặc của giao diện web tĩnh của nó, 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 đầu mối kinh doanh. Bản chất bị bỏ qua và không được sử dụng đúng mức của YellowPages làm cho nó trở thành một cơ hội duy nhất.
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 tôi đã kết bạn trên đường đi" - Tôi hy vọng điều này vừa chứng minh những cơ hội độc đáo tồn tại, đặc biệt là với bộ kỹ năng mà rất nhiều người trong chúng ta coi là điều hiển nhiên và cũng hy vọng, phục vụ như một cuốn sách thú vị cho những bạn có kinh nghiệm trong lĩnh vực này, và đưa ra cái nhìn sâu sắc cho những người trong số các bạn không phải.
Như mọi khi, hãy giữ an toàn, sử dụng sự bảo vệ và vì tình yêu của Chúa ... đừng làm điều gì đó mà FBI sẽ ở trên mông của bạn - tốt. trong trường hợp này sẽ là RCMP.
Hình trên: Tương đương FBI Canada - RCMP.