Hướng dẫn can you scrape data with php? - bạn có thể quét dữ liệu bằng php không?

Bạn có thể đã thấy một trong những hướng dẫn khác của chúng tôi về cách quét các trang web, ví dụ với Ruby, JavaScript hoặc Python, và tự hỏi: Điều gì về ngôn ngữ lập trình phía máy chủ được sử dụng rộng rãi nhất cho các trang web, đồng thời là Một trong những điều đáng sợ nhất? Tự hỏi không còn nữa - Hôm nay đã đến lúc PHP!PHP 🥳!

Dù bạn có tin hay không, nhưng php và web Scraping có nhiều điểm chung: giống như PHP, việc cạo web có thể được sử dụng một cách nhanh chóng và bẩn thỉu, hoặc theo kiểu công phu hơn và được hỗ trợ với sự trợ giúp của các công cụ và dịch vụ bổ sung.

Trong bài viết này, chúng tôi sẽ xem xét một số cách để cạo web với PHP. Xin lưu ý rằng không có "cách tốt nhất" chung - mỗi cách tiếp cận có trường hợp sử dụng, tùy thuộc vào những gì bạn cần, cách bạn muốn làm mọi việc và những gì bạn muốn đạt được.

Ví dụ, chúng tôi sẽ cố gắng có được một danh sách những người có cùng ngày sinh nhật, như bạn có thể thấy, ví dụ, trên Nổi tiếngBirthDays.com. Nếu bạn muốn mã theo, vui lòng đảm bảo rằng bạn đã cài đặt phiên bản hiện tại của PHP và nhà soạn nhạc.

Tạo một thư mục mới và chạy các lệnh sau từ nó:

$ composer init --require="php >= 8.1" --no-interaction
$ composer update

Chúng tôi sắn sàng!

1. Yêu cầu HTTP

Khi nói đến việc duyệt web, một giao thức giao tiếp quan trọng, bạn cần phải quen thuộc, là HTTP, giao thức vận chuyển siêu văn bản. Nó xác định cách người tham gia trên web trên toàn thế giới giao tiếp với nhau. Có các máy chủ lưu trữ tài nguyên và khách hàng yêu cầu tài nguyên từ họ.

Trình duyệt của bạn là một máy khách như vậy và khi chúng tôi mở bảng điều khiển nhà phát triển [nhấn

GET / HTTP/1.1
Host: www.example.com
6], chọn tab "Mạng" và mở ví dụ nổi tiếng.com, chúng ta có thể thấy yêu cầu đầy đủ được gửi đến máy chủ, cũng như phản hồi đầy đủ :

Tab mạng của bảng điều khiển nhà phát triển trình duyệt của bạn

Đó là một số tiêu đề yêu cầu và phản hồi, nhưng ở dạng cơ bản nhất, một yêu cầu trông như thế này:

GET / HTTP/1.1
Host: www.example.com

Chúng ta hãy cố gắng tái tạo với PHP, những gì trình duyệt vừa làm cho chúng ta!

GET / HTTP/1.1
Host: www.example.com
7

Thông thường, chúng tôi sẽ không sử dụng nhiều giao tiếp "cấp thấp" như vậy, nhưng chỉ vì lợi ích của nó, hãy tạo yêu cầu này với công cụ cơ bản nhất mà PHP phải cung cấp,

GET / HTTP/1.1
Host: www.example.com
7:

Bài Viết Liên Quan

Chủ Đề