Python Не работает парсер(debian server)
У меня есть парсер, который работает на моем ноубуке(Windows), когда я запускаю его на сервере(Linux), то получаю статус код 403. Я так понимаю, что это связано с cloudflare. Я пробовал добавлять все хедеры из браузера, добавлять прокси но мне это не помогло. Вот код:
import asyncio
import requests
from bs4 import BeautifulSoup as bs4
import re
HOST = 'https://yummyanime.club/'
URL = 'https://yummyanime.club/anime-updates?page=1'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36',
'accept': '*/*'}
async def parser(wait_for):
while True:
await asyncio.sleep(wait_for)
html = requests.get(URL)
print(html.status_code)
if html.status_code == 200:
soup = bs4(html.text, features='html.parser')
one = soup.find_all('ul', class_='update-list')
items = one[0].find_all('li')
animes = []
j = 0
for item in items:
if j == 5:
break
result = re.match(r'(.+):\s(.+)\.', item.find('span', class_='update-info').get_text())
if result:
num = re.match(r'.+-(\d+)\s', result.groups()[0])
if not num:
num = re.match(r'.+\s(\d+)-', result.groups()[0])
seriesnum = num.groups()[0]
else:
seriesnum = '-1'
animes.append({'name': item.find('span', class_='update-title').get_text(),
'info': result.groups()[0] if result else 'No info',
'link': HOST + item.find('a').get('href') if item.find('a') else 'no link',
'seriesnum': seriesnum,
'voiceover': result.groups()[1] if result else 'No voiceover'})
j += 1
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(parser(1800))
Может кто-то может подсказать как решить проблему или как какие-то альтернативные варианты.