Reddit học javascript 2022
Các bộ dữ liệu thú vị là nhiên liệu của một dự án khoa học dữ liệu tốt. Và trong khi các trang web như Kaggle cung cấp bộ dữ liệu miễn phí cho các nhà khoa học dữ liệu quan tâm, API là một cách rất phổ biến khác để truy cập và thu thập dữ liệu thú vị Show Thay vì phải tải xuống một tập dữ liệu, API cho phép lập trình viên yêu cầu dữ liệu trực tiếp từ một số trang web nhất định thông qua giao diện lập trình ứng dụng (do đó, “API”). Nhiều trang web lớn như Reddit, Twitter và Facebook cung cấp API để các nhà phân tích dữ liệu và nhà khoa học dữ liệu có thể truy cập dữ liệu thú vị Trong hướng dẫn này, chúng ta sẽ đề cập đến những kiến thức cơ bản về cách truy cập API bằng ngôn ngữ lập trình R. Bạn không cần bất kỳ kinh nghiệm API nào, nhưng bạn sẽ cần phải làm quen với các nguyên tắc cơ bản của R để làm theo Nếu bạn chưa tự tin vào khả năng R của mình, bạn có thể xem các khóa học cơ bản về R và tương tác miễn phí của chúng tôi > cài đặt. gói ("Yêu cầu dữ liệu") Bắt đầu học R ngay hôm nay với khóa học Giới thiệu về R của chúng tôi — không cần thẻ tín dụng ĐĂNG KÝBạn đã có các kỹ năng lập trình R cần thiết chưa? . Hãy đi sâu vào việc truy cập API với R Giới thiệu về API với R“API” là một thuật ngữ chung chỉ nơi mà một chương trình máy tính tương tác với một chương trình máy tính khác hoặc với chính nó. Trong hướng dẫn này, chúng ta sẽ làm việc cụ thể với các API web, trong đó hai máy tính khác nhau — máy khách và máy chủ — sẽ tương tác với nhau để yêu cầu và cung cấp dữ liệu tương ứng API cung cấp cho các nhà khoa học dữ liệu một cách hoàn hảo để yêu cầu dữ liệu sạch và được quản lý từ một trang web. Khi một trang web như Facebook thiết lập API, về cơ bản, họ đang thiết lập một máy tính chờ yêu cầu dữ liệu Khi máy tính này nhận được yêu cầu dữ liệu, nó sẽ tự xử lý dữ liệu và gửi đến máy tính đã yêu cầu. Từ quan điểm của chúng tôi với tư cách là người yêu cầu, chúng tôi sẽ cần viết mã bằng R để tạo yêu cầu và báo cho máy tính chạy API những gì chúng tôi cần. Sau đó, máy tính đó sẽ đọc mã của chúng tôi, xử lý yêu cầu và trả về dữ liệu được định dạng độc đáo mà các thư viện R hiện có có thể dễ dàng phân tích cú pháp Tại sao điều này có giá trị? . Khi một lập trình viên cạo một trang web, họ sẽ nhận được dữ liệu trong một đoạn HTML lộn xộn. Mặc dù chắc chắn có những thư viện giúp phân tích cú pháp văn bản HTML dễ dàng, nhưng đây là tất cả các bước làm sạch cần được thực hiện trước khi chúng tôi có được dữ liệu mà chúng tôi muốn Thông thường, chúng tôi có thể sử dụng ngay dữ liệu chúng tôi nhận được từ API, điều này giúp chúng tôi tiết kiệm thời gian và giảm bớt sự thất vọng Tạo các yêu cầu API trong RĐể làm việc với các API trong R, chúng tôi cần đưa vào một số thư viện. Các thư viện này lấy tất cả sự phức tạp của một yêu cầu API và gói gọn chúng trong các chức năng mà chúng ta có thể sử dụng trong một dòng mã. Các thư viện R mà chúng tôi sẽ sử dụng là 5 và 6. Chúng phục vụ các vai trò khác nhau trong phần giới thiệu API của chúng tôi, nhưng cả hai đều cần thiếtNếu bạn không có một trong hai thư viện này trong bảng điều khiển R hoặc RStudio của mình, trước tiên bạn cần tải chúng xuống. Sử dụng chức năng 7 để đưa vào các gói này
Sau khi tải xuống các thư viện, chúng tôi sẽ có thể sử dụng chúng trong tập lệnh R hoặc tệp RMarkdown của mình
Thực hiện yêu cầu API đầu tiên của chúng tôiBước đầu tiên để nhận dữ liệu từ API là đưa ra yêu cầu thực tế trong R. Yêu cầu này sẽ được gửi đến máy chủ có API và giả sử mọi thứ diễn ra suôn sẻ, nó sẽ gửi lại phản hồi. Đồ họa dưới đây minh họa điều này Có một số loại yêu cầu mà người ta có thể thực hiện đối với máy chủ API. Các loại yêu cầu này tương ứng với các hành động khác nhau mà bạn muốn máy chủ thực hiện Đối với mục đích của chúng tôi, chúng tôi sẽ chỉ yêu cầu dữ liệu, tương ứng với yêu cầu 8. Các loại yêu cầu khác là 9 và 0, nhưng chúng ta sẽ không cần phải lo lắng về chúng vì mục đích của hướng dẫn R API tập trung vào khoa học dữ liệu nàyĐể tạo một yêu cầu 8, chúng ta cần sử dụng hàm GET() từ thư viện 5. Hàm 3 yêu cầu một URL, chỉ định địa chỉ của máy chủ mà yêu cầu cần được gửi tớiHàm GET() gói gọn tất cả sự phức tạp của yêu cầu 8. Ví dụ của chúng tôi, chúng tôi sẽ làm việc với Open Notify API, mở ra dữ liệu về các dự án khác nhau của NASA. Sử dụng Open Notify API, chúng ta có thể tìm hiểu về vị trí của Trạm vũ trụ quốc tế và có bao nhiêu người hiện đang ở trong không gianTrước tiên, chúng tôi sẽ làm việc với API sau. Chúng tôi sẽ bắt đầu bằng cách đưa ra yêu cầu của mình bằng hàm 3 và chỉ định URL của API
Đầu ra của hàm 3 là một danh sách chứa tất cả thông tin được trả về bởi máy chủ API. Nói cách khác, biến 7 chứa phản hồi của máy chủ API đối với yêu cầu của chúng tôiKiểm tra đầu ra >> res = GET("https://api.open-notify.org/astros.json")3Hãy xem biến 7 trông như thế nào trong bảng điều khiển R 8 9Điều tra biến res cho chúng ta cái nhìn tóm tắt về phản hồi kết quả. Điều đầu tiên cần chú ý là nó chứa URL mà yêu cầu 8 đã được gửi tới. Chúng tôi cũng có thể xem ngày và giờ thực hiện yêu cầu, cũng như kích thước của phản hồiLoại nội dung cho chúng ta ý tưởng về dạng dữ liệu. Phản hồi cụ thể này nói rằng dữ liệu có định dạng json, điều này đưa ra gợi ý về lý do tại sao chúng ta cần thư viện 6Tình trạng xứng đáng được chú ý đặc biệt. "Trạng thái" đề cập đến sự thành công hay thất bại của yêu cầu API và nó có dạng một số. Số được trả về cho bạn biết yêu cầu có thành công hay không và cũng có thể nêu chi tiết một số lý do khiến yêu cầu có thể thất bại Con số 200 là những gì chúng ta muốn thấy; . Có thêm thông tin về các mã trạng thái khác mà chúng tôi có thể gặp phải tại đây. Vì chúng tôi có 200 phản hồi trạng thái thành công, chúng tôi biết rằng chúng tôi có sẵn dữ liệu và chúng tôi có thể bắt đầu làm việc với dữ liệu đó Xử lý dữ liệu JSONJSON là viết tắt của Ký hiệu đối tượng JavaScript. Mặc dù JavaScript là một ngôn ngữ lập trình khác, trọng tâm của chúng tôi về JSON là cấu trúc của nó. JSON rất hữu ích vì máy tính có thể dễ dàng đọc được và vì lý do này, nó đã trở thành cách chính để dữ liệu được vận chuyển qua các API. Hầu hết các API sẽ gửi phản hồi của chúng ở định dạng JSON JSON được định dạng dưới dạng một chuỗi các cặp khóa-giá trị, trong đó một từ cụ thể (“khóa”) được liên kết với một giá trị cụ thể. Một ví dụ về cấu trúc khóa-giá trị này được hiển thị bên dưới 2Ở trạng thái hiện tại, dữ liệu trong biến 7 không thể sử dụng được. Dữ liệu thực tế được chứa dưới dạng Unicode thô trong danh sách 7, danh sách này cuối cùng cần được chuyển đổi thành định dạng JSONĐể làm điều này, trước tiên chúng ta cần chuyển đổi Unicode thô thành một vectơ ký tự giống với định dạng JSON được hiển thị ở trên. Hàm 84 chỉ thực hiện nhiệm vụ này, như được hiển thị bên dưới 6 7Mặc dù chuỗi kết quả trông có vẻ lộn xộn, nhưng đó thực sự là cấu trúc JSON ở định dạng ký tự Từ một vectơ ký tự, chúng ta có thể chuyển đổi nó thành cấu trúc dữ liệu 85 bằng cách sử dụng hàm 86 từ thư viện 6Hàm 86 cần một vectơ ký tự chứa cấu trúc JSON, đó là những gì chúng ta nhận được từ đầu ra rawToChar(). Vì vậy, nếu chúng ta xâu chuỗi hai hàm này lại với nhau, chúng ta sẽ nhận được dữ liệu mình muốn ở định dạng mà chúng ta có thể dễ dàng thao tác hơn trong R 2____33Trong biến 89 của chúng tôi, tập dữ liệu mà chúng tôi muốn xem xét được chứa trong khung dữ liệu 90. Chúng ta có thể sử dụng toán tử 91 để xem trực tiếp khung dữ liệu này 0 1Vì vậy, có câu trả lời của chúng tôi. tại thời điểm viết bài đăng trên blog này, có 6 người trong không gian. Nhưng nếu bạn tự mình thử, bạn có thể sẽ nhận được các tên khác và một số khác. Đó là một trong những lợi thế của API - không giống như các bộ dữ liệu có thể tải xuống, chúng thường được cập nhật theo thời gian thực hoặc gần thời gian thực, vì vậy chúng là một cách tuyệt vời để truy cập vào dữ liệu hiện tại Khung dữ liệu, giống như khung chúng ta thấy ở trên, là cách chúng ta thường lưu trữ dữ liệu có cấu trúc để phân tích sâu hơn trong các thư viện 92 mà chúng ta học trong chương trình Dataquest. (Bạn có thể tìm hiểu thêm về điều này trong Nhà phân tích dữ liệu của chúng tôi trong Đường dẫn R nếu quan tâm. )Ở trên, chúng tôi đã hướng dẫn quy trình làm việc API rất đơn giản. Hầu hết các API sẽ yêu cầu bạn tuân theo cùng một mẫu chung này, nhưng chúng có thể phức tạp hơn URL API mà chúng tôi đã sử dụng ở trên chỉ yêu cầu chúng tôi đưa ra yêu cầu từ nó mà không có bất kỳ chi tiết bổ sung nào. Một số API yêu cầu thêm thông tin từ người dùng. Trong phần cuối của hướng dẫn này, chúng tôi sẽ đề cập đến cách cung cấp thông tin bổ sung cho API với yêu cầu của bạn API và tham số truy vấnĐiều gì sẽ xảy ra nếu chúng ta muốn biết khi nào ISS sẽ đi qua một địa điểm nhất định trên trái đất? Cụ thể, chúng tôi sẽ cần chỉ định vĩ độ và kinh độ của vị trí mà chúng tôi đang hỏi như một phần của yêu cầu 3 của chúng tôi. Khi kinh độ và vĩ độ được chỉ định, chúng sẽ được kết hợp với URL ban đầu dưới dạng tham số truy vấnHãy sử dụng API này để tìm hiểu khi nào ISS sẽ đi qua Cầu Brooklyn (ở khoảng vĩ độ 40. 7, kinh độ. -74) 2Các phần tử khác nhau của danh sách mà chúng tôi chuyển vào đối số 94 trong 3 được định dạng chính xác vào URL, vì vậy bạn không phải tự làm điều nàyBạn sẽ cần kiểm tra tài liệu về API mà bạn đang làm việc để xem có bất kỳ tham số truy vấn bắt buộc nào không. Đây là tài liệu API cho ISS Pass Times Phần lớn các API mà bạn có thể muốn truy cập sẽ có tài liệu mà bạn có thể (và nên) đọc để hiểu rõ ràng về những thông số mà yêu cầu của bạn yêu cầu. Một tham số phổ biến được yêu cầu bởi nhiều API, mặc dù không phải là tham số chúng tôi đang sử dụng cho hướng dẫn này, là khóa API hoặc một số hình thức xác thực khác. Kiểm tra tài liệu của API để tìm hiểu cách lấy khóa API và cách chèn khóa đó vào yêu cầu của bạn Dù sao, bây giờ chúng tôi đã đưa ra yêu cầu của mình, bao gồm các tham số vị trí, chúng tôi có thể kiểm tra phản hồi bằng cách sử dụng các chức năng tương tự mà chúng tôi đã sử dụng trước đó. Hãy trích xuất dữ liệu từ phản hồi 3____04API này trả về thời gian cho chúng tôi dưới dạng thời gian Unix. Thời gian Unix chỉ là khoảng thời gian đã trôi qua kể từ ngày 1 tháng 1 năm 1970. Có nhiều chức năng cho phép chuyển đổi dễ dàng từ Unix sang dạng thời gian quen thuộc — chúng tôi sẽ không đề cập đến việc làm việc với ngày và giờ trong hướng dẫn này, nhưng điều đó được đề cập trong lộ trình học tập tương tác của Nhà phân tích dữ liệu trong R của chúng tôi Chúng tôi cũng có thể nhanh chóng chuyển đổi thời gian Unix sang định dạng dễ đọc hơn trên các trang web như thế này Bạn đã có kiến thức cơ bản về API trong RTrong hướng dẫn này, chúng ta đã tìm hiểu API là gì và cách chúng có thể hữu ích đối với các nhà phân tích dữ liệu và nhà khoa học dữ liệu Sử dụng các kỹ năng lập trình R của chúng tôi và các thư viện 5 và 6, chúng tôi đã lấy dữ liệu từ API và chuyển đổi nó thành định dạng quen thuộc để phân tíchChúng tôi chỉ mới bắt đầu làm việc với các API ở đây, nhưng hy vọng rằng phần giới thiệu này đã mang lại cho bạn sự tự tin để xem xét một số API phức tạp và mạnh mẽ hơn, đồng thời giúp mở ra một thế giới dữ liệu hoàn toàn mới để bạn khám phá Sẵn sàng để tăng cấp kỹ năng R của bạn?Đường dẫn Nhà phân tích dữ liệu trong R của chúng tôi bao gồm tất cả các kỹ năng bạn cần để có được một công việc, bao gồm
Không có gì để cài đặt, không có điều kiện tiên quyết và không có lịch biểu Bắt đầu học miễn phí APIrR hướng dẫnrstatstutorialHướng dẫn Thông tin về các Tác giả Christian pascualChristian hiện đang là sinh viên tại Đại học California San Diego theo đuổi bằng Tiến sĩ về thống kê sinh học |