複数のサイトの検索結果をどうソートするかにもよるのですが、
例えばYouTubeの場合は再生回数の多い順にソートできるので、
「magic」の場合は、
https://www.youtube.com/results?search_sort=video_view_count&search_query=magic
となり、20件の検索結果が返されます。
以降のデータは、
https://www.youtube.com/results?search_sort=video_view_count&search_query=magic&page=2
というように「&page=2」や「&page=3」を付加すれば取得できます。
「&page=0」と「&page=1」は同じ結果で最初の20件が表示される仕組みです。
例えば3つのサイトを検索するとして、1ページ目が全て20件であった場合、
その60件のデータを全て集めて再生回数の多い順にソートします。
1ページに表示しようとする件数が20件であった場合はここまででOKです。
2ページ目以降が問題で、21件目から39件目までのソート結果に、
特定のサイトの20件目が表示されてしまっている場合、
その特定のサイトの21件目以降を取得し、追加してソートし直します。
そしてソート結果の21件目から40件目を表示します。
このように、足りなくなった可能性があればアクセスするという方法があります。