Hướng dẫn twitter api pagination python - twitter api phân trang python
I am using the full archive search of the Twitter API to extract data on past events. I have downloaded the code sample and modified it a bit to also save my data to a file on my local drive, and this is all working well. But I do not know how to implement pagination. Show
When working with 2, there is a special 3 function, but my current script uses 4.I tried adding a 5 loop in my 6 function using 7, but I did not really understand the Twitter documentation and could not make it work.Here is what I have got so far:
Can you help me fix this, or point me to a tutorial for less experienced users? Hướng dẫn này sử dụng thư viện PHP nào? REST API đang phân trang là gì?Show
Các chìa khóa ở đây - đầu tiên, trước, tiếp theo và cuối cùng - không tình cờ. Đây là những tiêu chuẩn toàn internet như bản thân. Vì vậy, nếu bạn sử dụng các tên này cho các liên kết của bạn, API của bạn sẽ phù hợp với rất nhiều API khác. Điều quan trọng khác cần chú ý trong ví dụ này là phân trang được thực hiện với các tham số truy vấn. Về mặt kỹ thuật, có rất nhiều cách mà khách hàng có thể cho chúng tôi biết họ muốn trang nào cho một bộ sưu tập, như các tham số truy vấn hoặc tiêu đề yêu cầu. Nhưng thành thật mà nói, các tham số truy vấn là cách dễ nhất. Trong trường hợp của chúng tôi, chúng tôi sẽ làm theo chính xác những gì bạn thấy ở đây. Và với Thư viện Hateoas, điều này sẽ dễ dàng. Đầu tiên, chúng ta hãy thiết lập một kịch bản để kiểm tra điều này trong 8. Trong kịch bản này, chúng tôi sẽ làm một cái gì đó thực sự tuyệt vời: chúng tôi sẽ theo các liên kết để phân trang. Tôi muốn có thể truy cập tài nguyên thu thập của chúng tôi, lấy URL cho liên kết 9 này và thực hiện yêu cầu thứ hai cho liên kết 9 và thực sự xem những gì trên trang 2.Đối với phân trang của chúng tôi, chúng tôi sẽ hiển thị 5 lập trình viên trên mỗi trang. Trong 1, chúng ta cần thêm một loạt các lập trình viên để thử điều này - Tôi sẽ dán vào một số mã rất giàu trí tưởng tượng cung cấp cho chúng ta 12 lập trình viên trong cơ sở dữ liệu:
Mọi thứ sau đó sẽ rất giống với tài nguyên thu thập thông thường, vì vậy tôi sẽ lấy một nửa sau của kịch bản đó. Tôi sẽ xóa mã trạng thái 200, vì chúng tôi đã kiểm tra điều này ở trên. Sau khi tôi thực hiện yêu cầu nhận đầu tiên, chúng tôi sẽ phân tích cú pháp thông qua phản hồi, tìm liên kết 9 và đưa ra yêu cầu nhận thứ hai. Tôi đã có một định nghĩa bước tích hợp để làm chính xác điều đó. Tôi sẽ chỉ nói: và tôi theo liên kết "tiếp theo":
| Lập trình viên4 | Programmer4 | | Lập trình viên5 | Programmer5 |
| Lập trình viên4 | Programmer4 | | Lập trình viên5 | Programmer5 |
| Lập trình viên6 | Programmer6 | | Lập trình viên7 | Programmer7 |
| Lập trình viên1 |I request "GET /api/programmers"
} ... dòng 116 - 205
} ... dòng 116 - 205
} ... dòng 116 - 205
} ... dòng 1 - 89 { ... dòng 92 - 102
... dòng 92 - 102 }
... dòng 92 - 102 }... dòng 1 - 89 ... dòng 116 - 205 Điều này cần một số đối số khác nhau. Đầu tiên là
... dòng 92 - 102
Yes! } ... dòng 116 - 205 Điều này cần một số đối số khác nhau. Đầu tiên là 1php vendor/bin/behat features/api.programmer.feature:960 thực tế. Thứ hai là tên tuyến đường đến điểm cuối danh sách, đối với chúng tôi là php vendor/bin/behat features/api.programmer.feature:961. Và nó sẽ sử dụng điều này để tạo các liên kết như tiếp theo, đầu tiên và cuối cùng. Đối số thứ ba là bất kỳ mảng tham số nào cần được chuyển đến tuyến đường. Vì vậy, nếu tuyến đường có biệt danh hoặc ký tự đại diện ID, bạn sẽ vượt qua điều đó ở đây. Nhưng không có bất kỳ ký tự đại diện nào trong tuyến đường này, vì vậy chúng tôi sẽ vượt qua một mảng trống. Ba đối số tiếp theo là trang chúng tôi đang truy cập, số lượng hồ sơ chúng tôi hiển thị trên mỗi trang và tổng số trang. Tôi sẽ phát minh ra một vài biến và đặt chúng ở trên trong một khoảnh khắc:$ thu thập,'limit', 5);paginate the JSON response that is called from the REST API. The order of the data is retained from page to page. Given the ability to paginate, you can quickly populate tables and make new REST calls every time you go to the next page of the data on the table. $ trang,'page', 1);$ giới hạn, . 0 thực tế. Thứ hai là tên tuyến đường đến điểm cuối danh sách, đối với chúng tôi là 1. Và nó sẽ sử dụng điều này để tạo các liên kết như tiếp theo, đầu tiên và cuối cùng. Đối số thứ ba là bất kỳ mảng tham số nào cần được chuyển đến tuyến đường. Vì vậy, nếu tuyến đường có biệt danh hoặc ký tự đại diện ID, bạn sẽ vượt qua điều đó ở đây. Nhưng không có bất kỳ ký tự đại diện nào trong tuyến đường này, vì vậy chúng tôi sẽ vượt qua một mảng trống. Ba đối số tiếp theo là trang chúng tôi đang truy cập, số lượng hồ sơ chúng tôi hiển thị trên mỗi trang và tổng số trang. Tôi sẽ phát minh ra một vài biến và đặt chúng ở trên trong một khoảnh khắc:Thay vào đó, tôi sẽ dán một số logic thủ công và sử dụng 5: PublicFunctionListAction (Yêu cầu $ Yêu cầu)functionlistAction(Request $request) ... dòng 92 - 93 $ giới hạn = $ request-> truy vấn-> get ('giới hạn', 5);'limit', 5);$ page = $ request-> truy vấn-> get ('trang', 1);'page', 1);. $ offset = ($ page - 1) * $ giới hạn;1) * $limit; $ numberOfPages = (int) cle (đếm ($ lập trình viên) / $ giới hạn); Tìm kiếm phân trang .. Phương pháp nào được coi là hiệu quả nhất cho việc phân trang trong API REST?Phương pháp bù là cách phổ biến nhất để phân trang tài nguyên (với phần bù trên truy vấn), nhưng nó kém hiệu quả hơn phương thức tìm kiếm.Offset method is the most common way to paginate resources (with an offset on query), but it's less efficient than the Search-after method.Offset method is the most common way to paginate resources (with an offset on query), but it's less efficient than the Search-after method. |