開発環境
- 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 コメント:
コメントを投稿