Hướng dẫn python crawl data from website - dữ liệu thu thập dữ liệu python từ trang web
Cập nhật lần cuối vào ngày 21 tháng 6 năm 2022 Show
Ngày xưa, đó là một công việc tẻ nhạt để thu thập dữ liệu và đôi khi nó rất tốn kém. Các dự án học máy không thể sống mà không có dữ liệu. May mắn thay, chúng tôi có rất nhiều dữ liệu trên web theo ý của chúng tôi ngày nay. Chúng tôi có thể sao chép dữ liệu từ web để tạo bộ dữ liệu của chúng tôi. Chúng tôi có thể tải xuống các tệp theo cách thủ công và lưu chúng vào đĩa. Nhưng chúng ta có thể làm điều đó hiệu quả hơn bằng cách tự động hóa việc thu hoạch dữ liệu. Có một số công cụ trong Python có thể giúp tự động hóa. Sau khi hoàn thành hướng dẫn này, bạn sẽ học:
Bắt đầu dự án của bạn với cuốn sách mới Python for Machine Learning, bao gồm các hướng dẫn từng bước và các tệp mã nguồn Python cho tất cả các ví dụ. with my new book Python for Machine Learning, including step-by-step tutorials and the Python source code files for all examples. Bắt đầu nào!Web Crawling trong Pythonphoto của Ray Bilcliff. Một số quyền được bảo lưu. Tổng quanHướng dẫn này được chia thành ba phần; họ đang:
Sử dụng thư viện yêu cầuKhi chúng ta nói về việc viết một chương trình Python để đọc từ web, không thể tránh khỏi việc chúng ta có thể tránh được thư viện ____ 0 & nbsp; Bạn cần cài đặt nó (cũng như BeautifulSoup và LXML mà chúng tôi sẽ đề cập sau):
Nó cung cấp cho bạn một giao diện cho phép bạn tương tác với web một cách dễ dàng. Trường hợp sử dụng rất đơn giản sẽ là đọc một trang web từ URL:
Nếu bạn quen thuộc với HTTP, có lẽ bạn có thể nhớ lại rằng mã trạng thái 200 có nghĩa là yêu cầu được thực hiện thành công. Sau đó, chúng ta có thể đọc phản hồi. Ở trên, chúng tôi đọc phản hồi văn bản và nhận HTML của trang web. Nếu nó là CSV hoặc một số dữ liệu văn bản khác, chúng ta có thể đưa chúng vào thuộc tính
3 & nbsp; & nbsp; & nbsp; & nbsp; 2017-04-20 & nbsp; & nbsp; 1,85
& nbsp; & nbsp; In (DF)
Cho rằng chúng tôi đã có được trang web, chúng tôi nên trích xuất dữ liệu như thế nào? Điều này vượt xa những gì thư viện Cách đầu tiên là coi HTML là một loại tài liệu XML và sử dụng ngôn ngữ XPath để trích xuất phần tử. Trong trường hợp này, chúng tôi có thể sử dụng thư viện ____ 5 & NBSP; trước tiên tạo mô hình đối tượng tài liệu (DOM) và sau đó tìm kiếm bởi XPath:
XPath là một chuỗi chỉ định cách tìm một phần tử. Đối tượng LXML cung cấp hàm Ví dụ này là tìm nhiệt độ của thành phố New York, được cung cấp bởi yếu tố cụ thể này mà chúng tôi nhận được từ trang web này. Chúng tôi biết phần tử đầu tiên phù hợp với XPath là những gì chúng tôi cần và chúng tôi có thể đọc văn bản bên trong thẻ ____ 7 & nbsp; Một cách khác là sử dụng các bộ chọn CSS trên tài liệu HTML, mà chúng ta có thể sử dụng thư viện đẹp:
# Tạo DOM từ văn bản HTML # Tìm kiếm phần tử nhiệt độ và nhận nội dung
Ví dụ này là tìm nhiệt độ của thành phố New York, được cung cấp bởi yếu tố cụ thể này mà chúng tôi nhận được từ trang web này. Chúng tôi biết phần tử đầu tiên phù hợp với XPath là những gì chúng tôi cần và chúng tôi có thể đọc văn bản bên trong thẻ ____ 7 & nbsp; Một cách khác là sử dụng các bộ chọn CSS trên tài liệu HTML, mà chúng ta có thể sử dụng thư viện đẹp:Từ BS4 Nhập cảnh đẹp
Hàm & nbsp; ____ 14 trong gấu trúc đọc một URL và tìm thấy tất cả các bảng trên trang. Mỗi bảng được chuyển đổi thành một gấu trúc DataFrame và sau đó trả lại tất cả chúng trong một danh sách. Trong ví dụ này, chúng tôi đang đọc các mức lãi suất khác nhau từ Cục Dự trữ Liên bang, chỉ có một bảng trên trang này. Các cột bảng được xác định tự động bởi gấu trúc. Rất có thể là không phải tất cả các bảng là những gì chúng ta quan tâm. Đôi khi, trang web sẽ sử dụng một bảng chỉ như một cách để định dạng trang, nhưng gấu trúc có thể không đủ thông minh để nói. Do đó, chúng ta cần kiểm tra và chọn anh đào kết quả được trả về bởi chức năng ____ 14 & nbsp; Bạn muốn bắt đầu với Python để học máy?Tham gia khóa học gặp sự cố email 7 ngày miễn phí của tôi ngay bây giờ (với mã mẫu). Nhấp để đăng ký và cũng nhận được phiên bản Ebook PDF miễn phí của khóa học. Đọc nội dung động với selenMột phần đáng kể của các trang web hiện đại là đầy đủ các javascripts. Điều này cho chúng ta một trải nghiệm huyền ảo nhưng trở thành một trở ngại để sử dụng như một chương trình để trích xuất dữ liệu. Một ví dụ là trang chủ của Yahoo, nếu chúng ta chỉ tải trang và tìm tất cả các tiêu đề tin tức, thì có ít hơn nhiều so với những gì chúng ta có thể thấy trên trình duyệt:
Điều này là do các trang web như thế này dựa vào JavaScript để điền vào nội dung. Các khung web nổi tiếng như AngularJS hoặc React đang đằng sau việc cung cấp năng lượng cho thể loại này. Thư viện Python, chẳng hạn như Một cách khác là yêu cầu một trình duyệt thực để đọc trang web thay vì sử dụng & nbsp; ________ 0. Đây là những gì Selenium có thể làm. Trước khi chúng tôi có thể sử dụng nó, chúng tôi cần cài đặt thư viện: Nhưng selen chỉ là một khung để kiểm soát các trình duyệt. Bạn cần cài đặt trình duyệt trên máy tính cũng như trình điều khiển để kết nối selen với trình duyệt. Nếu bạn có ý định sử dụng Chrome, bạn cũng cần tải xuống và cài đặt Chromedriver. Bạn cần đặt trình điều khiển vào đường dẫn thực thi để selen có thể gọi nó giống như một lệnh bình thường. Ví dụ: trong Linux, bạn chỉ cần lấy Tương tự, nếu bạn sử dụng Firefox, bạn cần & NBSP; Geckodriver. Để biết thêm chi tiết về việc thiết lập selen, bạn nên tham khảo tài liệu của nó. Sau đó, bạn có thể sử dụng tập lệnh Python để kiểm soát hành vi trình duyệt. Ví dụ:
Một cách khác là yêu cầu một trình duyệt thực để đọc trang web thay vì sử dụng & nbsp; ________ 0. Đây là những gì Selenium có thể làm. Trước khi chúng tôi có thể sử dụng nó, chúng tôi cần cài đặt thư viện:
Nhưng selen chỉ là một khung để kiểm soát các trình duyệt. Bạn cần cài đặt trình duyệt trên máy tính cũng như trình điều khiển để kết nối selen với trình duyệt. Nếu bạn có ý định sử dụng Chrome, bạn cũng cần tải xuống và cài đặt Chromedriver. Bạn cần đặt trình điều khiển vào đường dẫn thực thi để selen có thể gọi nó giống như một lệnh bình thường. Ví dụ: trong Linux, bạn chỉ cần lấy Sử dụng selen khác với việc sử dụng thư viện Có rất nhiều chức năng được cung cấp bởi khung Selenium mà chúng ta có thể bao gồm ở đây. Nó rất mạnh mẽ, nhưng vì nó được kết nối với trình duyệt, sử dụng nó đòi hỏi nhiều hơn thư viện Đọc thêmMột thư viện thu thập thông tin nổi tiếng khác ở Python mà chúng tôi đã đề cập ở trên là phế liệu. Nó giống như kết hợp thư viện Bài viết
Tài liệu API
Sách
Bản tóm tắtTrong hướng dẫn này, bạn đã thấy các công cụ chúng ta có thể sử dụng để tìm nạp nội dung từ web. Cụ thể, bạn đã học được:
Nhận một xử lý trên Python để học máy!Tự tin hơn để viết mã trong Python... Từ việc học các thủ thuật trăn thực tế Khám phá cách trong ebook mới của tôi: Python cho học máy Nó cung cấp các hướng dẫn tự học với hàng trăm mã làm việc để trang bị cho bạn các kỹ năng bao gồm: gỡ lỗi, hồ sơ, gõ vịt, trang trí, triển khai, và nhiều hơn nữa ...self-study tutorials with hundreds of working code to equip you with skills including: Cho bạn xem hộp công cụ Python ở mức cao cho các dự án của bạn |