今、画像をスクレイピングでローカルのファイルにダウンロードしようと思っているのですが、以下のようなエラーが出ます。どうしたらよいでしょうか?<UnicodeEncodeError: 'ascii' codec can't encode characters in position 54-57: ordinal not in range(128)
python3
1import bs4 2import urllib.request 3from itertools import chain 4import time 5import random 6 7for page in range(1, 3): 8 html = urllib.request.urlopen('https://beauty.hotpepper.jp/CSP/bt/hairCatalogSearch/ladys/condtion/?keyword=かわいい&pn='+str(page)) 9 soup = bs4.BeautifulSoup(html, 'html.parser') 10 11 columns = soup.find_all('li', class_='dibBL') 12 atags = map(lambda column: column.find_all('a', class_='pr'), columns) 13 14 with open('hotpepper_page_urls.txt', 'w') as f: 15 for _ in chain.from_iterable(atags): 16 path = _.get('href') 17 if not path.startswith('https'): # Relative path 18 path = '{}{}'.format(base_url, path) 19 f.write('{}\n'.format(path)) 20 21 time.sleep(1 + random.randint(0, 2)) # 負荷を抑えるために数秒間止める
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/10 11:46