開発環境
- macOS Catalina - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第Ⅱ部(処理の自動化)、11章(Webスクレイピング)、11.5(Google検索)のコードが動かなかったから、手元の環境で動くように修正してみた。
コード
Python 3
#!/usr/bin/env python3
import sys
import webbrowser
import requests
import bs4
if len(sys.argv) < 2:
print('usage: ksearch <keyword> [keyword]...', file=sys.stderr)
sys.exit(1)
url = f'https://google.com/search?q={" ".join(sys.argv[1:])}'
res = requests.get(url)
try:
res.raise_for_status()
except Exception as err:
print(err, file=sys.stderr)
sys.exit(1)
soup = bs4.BeautifulSoup(res.text, 'lxml')
links = soup.select('a')
i = 0
for link in links:
href = link.get('href')
if href.startswith('/url?q='):
webbrowser.open(f'https://google.com{href}')
i += 1
if i == 5:
break
入出力結果(Zsh、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))
% ./ksearch.py usage: ksearch <keyword> [keyword]... % ./ksearch.py python % ./ksearch.py go programming %
0 コメント:
コメントを投稿