Advertisement
JmihPodvalbniy

Untitled

May 29th, 2024 (edited)
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.42 KB | Software | 0 0
  1. #1) Сделать парсинг сайта https://quotes.toscrape.com и вытащить всех авторов с подробной информацией о каждом: дата и место рождения, #описание и сохранить в текстовый файл
  2. import requests
  3. from bs4 import BeautifulSoup
  4.  
  5. author_link_list = set()
  6.  
  7. for p in range(1, 12):
  8.     url = f'https://quotes.toscrape.com/page/{p}'
  9.     response = requests.get(url)
  10.  
  11.     soup = BeautifulSoup(response.text, 'html.parser')
  12.  
  13.     for link in soup.find_all('a', text='(about)'):
  14.         author_link = link['href']  # Получаем ссылку
  15.  
  16.         if author_link not in author_link_list:
  17.             author_response = requests.get(f'https://quotes.toscrape.com{author_link}')
  18.             author_soup = BeautifulSoup(author_response.text, 'html.parser')
  19.  
  20.             author_name = author_soup.find('h3', class_='author-title').text
  21.             born_date = author_soup.find('span', class_='author-born-date').text
  22.             born_location = author_soup.find('span', class_='author-born-location').text
  23.             description = author_soup.find('div', class_='author-description').text.lstrip()
  24.  
  25.             with open('authors.txt', 'a', encoding='utf-8') as f:
  26.                 f.write(f"Имя автора: {author_name}\n")
  27.                 f.write(f"Дата рождения: {born_date}\n")
  28.                 f.write(f"Место рождения: {born_location}\n")
  29.                 f.write(f"Описание: {description}\n\n")
  30.  
  31.             author_link_list.add(author_link)
  32.  
  33. print('Информация об авторах сохранена в authors.txt')
  34. #2) Сделать парсинг сайта https://2krossovka.ru и вытащить первые 108 товаров с подробной информацией о всех характеристиках, которые #открываются у каждого товара в отдельной странице.
  35. import requests
  36. from bs4 import BeautifulSoup
  37.  
  38. k = 1
  39. for p in range(1, 12):
  40.     url = f'https://2krossovka.ru/katalog/?page={p}'
  41.     response = requests.get(url)
  42.  
  43.     if response.status_code == 200:
  44.         soup = BeautifulSoup(response.text, 'html.parser')
  45.         products = soup.find_all('div', class_='caption')
  46.         for product in products:
  47.             if k <= 108:
  48.  
  49.                 with open('products.txt', 'a', encoding='utf-8') as f:
  50.                     f.write(f"Порядковый номер товара: {k}\n")
  51.                     k += 1
  52.                     f.write(f"Название товара: {product.h4.a.text.strip()}\n")
  53.                     f.write(f"{product.p.text.strip()}\n")
  54.                     f.write(f"ссылка: {product.h4.a['href'].strip()}\n")
  55.                     response1 = requests.get(f'{product.h4.a['href'].strip()}')
  56.  
  57.                     if response1.status_code == 200:
  58.                         soup = BeautifulSoup(response1.text, 'html.parser')
  59.                         specifications = soup.find_all('td', itemprop="name")
  60.                         spec_value = soup.find_all('td', itemprop="value")
  61.  
  62.                         for i in range(len(specifications)):
  63.                             f.write(f"{specifications[i].text.strip()}: ")
  64.                             f.write(f"{spec_value[i].text.strip()}\n")
  65.                     f.write(f"\n")
  66. print("Информация о продуктах сохранена в products.txt")
  67. #3) С помощью АПИ сайта https://randomuser.me/api рандомно вытащить полную информацию о 5 юзерах
  68. import requests
  69.  
  70. url = "https://randomuser.me/api/?results=5"
  71. response = requests.get(url)
  72. response.raise_for_status()
  73.  
  74. data = response.json()
  75. users = data['results']
  76.  
  77. with open('users.txt', 'w', encoding='utf-8') as f:
  78.     for user in users:
  79.         f.write("-" * 20 + "\n")
  80.         f.write(f"Имя: {user['name']['first']} {user['name']['last']}\n")
  81.         f.write(f"Пол: {user['gender']}\n")
  82.         f.write(f"Возраст: {user['dob']['age']}\n")
  83.         f.write(f"Город: {user['location']['city']}, {user['location']['country']}\n")
  84.         f.write(f"Email: {user['email']}\n")
  85.         f.write(f"Телефон: {user['phone']}\n")
  86.         f.write(f"Изображение: {user['picture']['large']}\n\n")
  87.  
  88. print("Информация о пользователях сохранена в users.txt")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement