0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Python beautifulsoupを使ってweb scrapingするときにつまずいたこととか

Posted at

とりあえずコード

get-html.py
import requests
from bs4 import BeautifulSoup
import urllib.request

response = requests.get('https://www.google.com/search?q=japanese&rlz=1C5CHFA_enJP834JP834&sxsrf=ALeKk02zyBpLsv9QCQOhAyZnOylqFDzv8Q:1606105228848&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjaooyd6JftAhWB62EKHUMRCTEQ_AUoAXoECBEQAw&biw=1084&bih=634')

#response = requests.get('http://google.co.jp')
# print(response.text)
soup = BeautifulSoup(response.text, 'lxml')

titles = soup.find_all("img", limit=10)
ind = 0
for title in titles:
  url = title.get("src")
  if "https://" in url:
    save_name = "/Users/aspara/Desktop/pg/mask_face/japanese/face"+str(ind)+".jpg"
    tgt = urllib.request.urlopen(url).read()
    with open(save_name, mode='wb') as f:
      f.write(tgt)
    ind += 1

googleでjapaneseと検索して出てくる画像を上から10枚取ってきて保存する。

証明書が古いことにより出たエラー

実行する際に、以下のようなエラーが出た。

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate

どうやら、通信の際に証明書なるものが必要で、サーバー側とクライアント側(自分側)で必要なようだが、自分側の証明書がだめらしい。というわけで調べてみると、このような記事が出てきたので同様に自分のpython3.9のフォルダからinstall Certificates.commandというファイルを見つけ、そこに記載の通り、

/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m pip install --upgrade pip

というコマンドを実行すると、

Collecting pip
  Downloading pip-20.2.4-py2.py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 2.9 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.2.3
    Uninstalling pip-20.2.3:
      Successfully uninstalled pip-20.2.3
Successfully installed pip-20.2.4

の通り、証明書が最新のものにアップデートされた。
これで再度実行すると解決した。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?