前提・実現したいこと
下記より、URLより画像を取得し、保存するという処理をさせたいなかで、エラーが出ている訳ではないのですが、画像が保存されていない状態となります。(名前検索をしても出てこない、)
コードをご確認いただき、原因がお分かりの方がおられましたらご教示いただけますと幸いです。
発生している問題・エラーメッセージ
(base) namenoMacBook-ea:~ name$
該当のソースコード
Python
1from bs4 import BeautifulSoup 2import requests 3import urllib 4import lxml 5import time 6 7html="https://www.ymori.com/books/python2nen/test2.html" 8load_html=requests.get(html) 9 10soup=BeautifulSoup(load_html.text,"lxml") 11imgs=soup.find_all("img") 12 13for i in range(len(imgs)): 14 filename="{}.jpg".format(i) 15 urllib.request.urlretrieve(imgs[i]["src"],filename) 16 time.sleep(1)
提示コードが正常に動作するURLは存在しますか?
また、find_all("jpg")はどのような処理、結果を意図していますか?
提示コードが正常に動作するURLは存在しますか?
>は「html="https://www.google.com/search?q=%E3%82%AC%E3%83%83%E3%82%AD%E3%83%BC&sxsrf=ALeKk039Fc4fYJucUMyP_1-UO2ILhAXkOA:1583647203991&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiulqzImYroAhUYfnAKHQV5CzoQ_AUoAXoECCwQAw&biw=1440&bih=789"」のことでしょうか?
こちらの場合は、正常に動作しております!
find_all("jpg")はどのような処理、結果を意図していますか?
>こちらは"img"の誤りでした、、ここからsrc情報を取得する流れを考えておりました!
質問のコードを修正してください。
失礼いたしました。
上記、ただ今(“jpg”)→(“img”)へ修正いたしました。
今気が付きました。対象サイトがgoogleですがスクレイピング禁止かと思います。
「本サービスの妨害や、Google が提供するインターフェースおよび手順以外の方法による本サービスへのアクセスを試みてはなりません」※利用規約からの抜粋
ありがとうございます!
上記も踏まえ、読み取り先を(以前勉強本で利用されていた)「https://www.ymori.com/books/python2nen/test2.html」に修正して実行したのですが、返答(発生している問題・エラーメッセージ)は同様に保存はされておりませんでした。
ご指摘いただいた点以外でも問題があるのでしょうか、、
※上記より、質問のコードも修正を行いました
お手数ですが、何卒宜しくお願い致します。
質問のコードを試したところ「ValueError: unknown url type: './sample2.png'」のエラーが出ました。質問者さんの方ではこのエラーは出ませんか?
エラーが出たのでURLをこの質問のページに設定したところ、10個のjpgファイルが作成されました。ファイルはカレントディレクトリに保存されると思いますが、本当にjpgファイルはありませんでしたか?
有難う御座います!
1つ目に関して、僕の確認ミスで、同様に下記エラーが表示されました。
申し訳ございません、、
「ValueError: unknown url type: './sample2.png'」
meg_さん同様に、こちらのサイトで試すと画像取得ができたので、下記Y.H.さんにご指摘いただいたように3枚中2,3枚目の相対パスのみで記載されている部分がエラーになっていたのだと思います、!
こちらの調整にて無事画像保存が可能となりました!
ご対応のほど、有難う御座いました!????♂️
回答1件
あなたの回答
tips
プレビュー