@Ynkersss

Почему парсер в цикле не обновляет полученный результат?

Хотел сделать бота ВК, который будет скидывать обновляющуюся информацию с сайта при наборе определенной команды, в итоге появилась проблема, что парсер в цикле не обновляет полученный результат, а остается та же информация, поэтому я создал свой сайт, чтобы не ждать когда нужный будет обновляться и накидал отдельный скрипт, который концентрируется именно на этой проблеме (который сохраняет ту же проблему).

Вкратце, код выдает в консоль ссылку на изображение на сайте 2 раза, с промежутком в 10 секунд, чтобы я мог успеть изменить html скрипт)

import time

import requests
from bs4 import BeautifulSoup

URL = 'http://s336444.smrtp.ru/'
HOST = 'http://s336444.smrtp.ru/'
HEADERS = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}

#Парсер
def get_html(url, params=None):
    r = requests.get(url, headers=HEADERS, params=params)
    return r

def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    p = soup.find_all('div')
    img = []

    for imgs in p:
        img.append((imgs.find('img').get('src')))

    forest = img[0]

    return forest

html = get_html(URL)
output = get_content(html.text)

#Цикл, для вывода в консоль URL изображения
for i in range(2):
    output
    print('\n' + output + ' ' + str(i))
    if i == 1:
        break
    time.sleep(10)
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
парсер в цикле не обновляет полученный результат, а остается та же информация


В каком цикле? В for i in range(2):?
В нем нет ни одного присваивания / любой другой модификации. Он просто текст выводит

for i in range(2):
    html = get_html(URL)
    output = get_content(html.text)
    print('\n' + output + ' ' + str(i))
    if i == 1:
        break
    time.sleep(10)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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