링크를 통해 차례로 이미지 복사를 진행하다
8330 단어 urllib내목판PythonBeautifulSoup
수집원은 내목판 총결산http://nogizaka46matomenoma.blog.jp/
뷰티풀 소스도 이해하기 어려운 부분이 있지만 대체로 잘됐다.
다만, 회귀적으로 하면 같은 이미지가 많아진다.이걸 해결할 방법이 있다면 알려주세요.
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
def get_link (url):
html = urlopen(url)
soup = BeautifulSoup(html, 'lxml')
link_list = []
for i in soup.find_all('a'):
link = i.get('href')
if type(link) is str:
if 'http' in link:
# javascriptの何か?が混ざっている。よくわからないからtype=strとif ~ in で絞る。
link_list.append(link)
return link_list
def link_to_img(url):
html = urlopen(url)
soup = BeautifulSoup(html, 'lxml')
img_list = []
for i in soup.find_all('img'):
link = i.get('src')
img_list.append(link)
return img_list
url = "http://nogizaka46matomenoma.blog.jp/"
img_name_list = []
for img in img_list:
try:
re = requests.get(img)
if len(img.split('/')[-1]) > 20:
img_name = img.split('/')[-1][-20:]
else :
img_name = img.split('/')[-1]
with open('./' + img.split('/')[-1], 'wb') as f: # img_listフォルダに格納
f.write(re.content)
img_name_list.append(img_name)
except:
pass
big_pic_list = []
for i in range(len(img_name_list)):
try:
pic = Image.open(img_name_list[i])
if pic.size[0] > 400 and pic.size[1] > 400:
big_pic_list.append(pic)
# 高さ、幅それぞれ500以上のものだけをリストにする。
except:
pass
100장 정도 모았다.
Reference
이 문제에 관하여(링크를 통해 차례로 이미지 복사를 진행하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ophhdn/items/b9bda8f6dce4f9b296bc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)