노기자카46의 멤버 아키모토 한여름의 블로그 사진을 스크래핑
12501 단어 Python3스크래핑BeautifulSoup
노기자카46의 멤버 아키모토 한여름의 블로그 사진을 스크래핑
BeautifulSoup의 사용법 연습도 아니고, 아키모토 한여름의 블로그의 사진을 모두 보존하는 프로그램을 작성했다.
url = 'http://blog.nogizaka46.com/manatsu.akimoto/'
headers = {
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0",
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "lxml")
url = 'http://blog.nogizaka46.com/manatsu.akimoto/'
headers = {
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0",
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "lxml")
past_blog_link_list = []
for option_tag in option_tag_list:
if type(option_tag) == str:
continue
# なぜかoption_tagタグではない、strの型のものも引っかかるので、除外。
link = option_tag['value']
if re.search('\d{6}$', link):
# 過去のブログのリンク先のリストは201212のような形式になっている。こうしたものだけ抽出。
past_blog_link_list += [link]
# for past_blog_link in past_blog_link_list:
os.chdir('/Users/mizukoshiryuuhei/nogi_pic/nogizaka_pic')
cnt = 1
for past_blog_link in past_blog_link_list:
response = requests.get(past_blog_link, headers=headers)
soup = BeautifulSoup(response.text, "lxml")
img_tag_list = soup.find_all('img')
for img_tag in img_tag_list:
img_link = img_tag['src']
if re.search('jpeg$', img_link):
try:
urlretrieve(img_link, f"akimoto_manatsu_blog_{cnt}.jpg")
cnt += 1
except error:
# urllibのリクエストのエラーの基底クラス
pass
print(f'{cnt} pictures were saved')
import requests
from bs4 import BeautifulSoup
import re
from urllib.request import urlretrieve
from urllib import error
import os
url = 'http://blog.nogizaka46.com/manatsu.akimoto/'
headers = {
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0",
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "lxml")
# 過去のブログのリンク先のリスト(月別)
option_tag_list = soup.find_all('option')
past_blog_link_list = []
for option_tag in option_tag_list:
if type(option_tag) == str:
continue
# なぜかoption_tagタグではない、strの型のものも引っかかるので、除外。
link = option_tag['value']
if re.search('\d{6}$', link):
# 過去のブログのリンク先のリストは201212のような形式になっている。こうしたものだけ抽出。
past_blog_link_list += [link]
# for past_blog_link in past_blog_link_list:
os.chdir('/Users/mizukoshiryuuhei/nogi_pic/nogizaka_pic')
cnt = 1
for past_blog_link in past_blog_link_list:
response = requests.get(past_blog_link, headers=headers)
soup = BeautifulSoup(response.text, "lxml")
img_tag_list = soup.find_all('img')
for img_tag in img_tag_list:
img_link = img_tag['src']
if re.search('jpeg$', img_link):
try:
urlretrieve(img_link, f"akimoto_manatsu_blog_{cnt}.jpg")
cnt += 1
except error:
# urllibのリクエストのエラーの基底クラス
pass
print(f'{cnt} pictures were saved')
!
Reference
이 문제에 관하여(노기자카46의 멤버 아키모토 한여름의 블로그 사진을 스크래핑), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ophhdn/items/671929364ecd5588de22텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)