@animanshnik

Как задать парсеру что искать?

import shutil
import requests
from bs4 import BeautifulSoup


count = 1
while count <= 3:

    url = "http://education.simcat.ru/school25/news/page{}/".format(count)
    page = requests.get(url).text
    soup = BeautifulSoup(page, 'html.parser')
    divs = soup.findAll('div', {'class': 'maintext'})
    print('Count', count, url)

    def find_content():
        for div in divs:
            div_title = div.find('div', {'class': 'menu'})
            link_text = div_title.find('a').text
            print(link_text)

            img = div.find('a')
            img_src = img.find('img').get('src')
            img_src = 'http://education.simcat.ru/school25/' + img_src

            response = requests.get(img_src, stream=True)
            with open(link_text.replace('/', '') + '.jpg', 'wb') as out_file:
                shutil.copyfileobj(response.raw, out_file)
            del response

        return

    count += 1

    print(find_content())

Есть такой вот кодец. Проблема в том, что он не ищет нужное.
Результат должен быть:
Count 3 education.simcat.ru/school25/news/page3
Я съел деда и тд и тп, в итоге результат
Count 3 education.simcat.ru/school25/news/page3
None.
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
BuriK666
@BuriK666
Компьютерный псих
у вас find_content ничего не возвращает, print(find_content()) отсюда и None.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы