一見動くように見えますが、もし keyword に「空白」や「日本語」、あるいは「&」などの記号が含まれていたらどうなるでしょうか? URLとして不正な形式になり、エラーが発生したり、意図しない検索結果になったりします。 今回は、Pythonの requests ...
確かに単純なURLならそれでも動くかもしれませんが、URLエンコード(%E3%81%82 など)が含まれていたり、値が空だったりする場合、自前実装はバグの温床になります。 ここでもやはり、Python標準ライブラリ urllib.parse の出番です。
一部の結果でアクセス不可の可能性があるため、非表示になっています。
アクセス不可の結果を表示する