Wenn Sie nicht an dem Code interessiert sind und ein Bild [hier] möchten (https://twitter.com/Azumi_cpa/status/1210042073316917248)
Es kratzt an Hinatazakas Blog Dieses Mal konzentrieren wir uns nur auf das Herunterladen von Bildern
Python:3.7 beautifulsoup4:4.8.1
Wenn Sie Verbesserungen, Tsukkomi usw. haben, hinterlassen Sie bitte einen Kommentar oder Twitter (@Azumi_cpa).
from bs4 import BeautifulSoup
import requests
import time
def get_picture_url(url):
pic_urls = []
page_number = 0
#Holen Sie sich die URL des Bildes auf jeder Seite, bis der Artikel verschwindet
while True:
print(url + "&page=" + str(page_number))
response = requests.get(url + "&page=" + str(page_number))
soup = BeautifulSoup(response.text, 'lxml')
a = soup.find_all('div', class_='p-blog-article')
#Ich denke, ich kann hier schöner schreiben
if a != []:
for b in a:
for c in b.find_all('img'):
pic_urls.append(c["src"])
print(page_number)
page_number += 1
time.sleep(3)
else:
break
return pic_urls
def save_pictures(name, url):
#URL des Bildes abrufen
pic_urls = get_picture_url(url)
#Beginne, zu sparen
for i, url in enumerate(pic_urls):
try:
response = requests.get(url)
image = response.content
#Mitgliedsname/Nummer.jpg
file_name = name + "/" + str(i) + ".jpg "
with open(file_name, "wb") as aaa:
aaa.write(image)
time.sleep(3)
except:
print("Error")
def get_members():
member_list = {}
response = requests.get('https://www.hinatazaka46.com/s/official/diary/member?ima=0000')
soup = BeautifulSoup(response.text, 'lxml')
members = soup.find_all("a", class_="p-blog-face__list")
for member in members:
#Leerzeichen und Zeilenumbrüche entfernen
member_name = member.text.replace(" ", "")
member_name = member_name.replace("\n", "")
#Holen Sie sich auch die URL der 0. Seite des Blogs(Ab Seite 1"&page=n"Hinzufügen
member_list[member_name] = "https://www.hinatazaka46.com" + member.attrs["href"]
return member_list
def main():
#Mitgliederliste erstellen
members_list = get_members()
for name, url in members_list.items():
print(name + "Start")
save_pictures(name, url)
main()