##前提
###環境
MacOS Catalina(10.15.3)
python 3.7.5
BeautifulSoup 4.9.0
###実現したかったこと
"@"等の特定の文字列が画像置換されているサイトのスクレイピングにおいて,その画像を元の文字列に置き換える処理.
##解決
BeautifulSoupにはreplace_with(置換先)というメソッドがあるのでこれを使えば良い.ただし,取得した置換元の画像タグはリストになっているので,その個数でループを回して扱った.
###コード
今回は一種類の画像を置換するだけだったので,手を抜いて全ての画像に処理を施すことにした.
def replaceImg(soup):
numOfImg = len(soup.find_all("img"))
for i in range(numOfImg):
soup.img.replace_with("@")
return soup
##終わりに
python素人かつプログラミング素人なので,もっと良い実装をご存知の方はご教示いただけると嬉しいです.
###参考
bs4のドキュメント(日本語訳)