У меня возникает странная проблема, когда я пытаюсь запустить тестовый скрипт basi c, который должен выводить имя события из HTML URL-адреса с помощью Beautifulsoup. #
Код ниже:
import requests
import time
from bs4 import BeautifulSoup
def makesoup(url):
cookies = {'mycountries' : '101,28,3,102,42,10,18,4,2,22', 'user_time_zone': 'Europe/London', 'user_time_zone_id': '1'}
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'}
r = requests.post(url, headers=headers, cookies=cookies)
return BeautifulSoup(r.text,"html.parser")
def linkscrape(links, savefile):
baseurl = "https://sport-tv-guide.live"
urllist = []
for link in links:
finalurl = (baseurl+ link['href'])
urllist.append(finalurl)
print(finalurl)
for singleurl in urllist:
soup2=makesoup(url=singleurl)
g_data=soup2.find_all('div', {'id': 'channelInfo'})
for match in g_data:
print(g_data)
try:
event = match.find('div', class_='title full').text.strip()
print(event)
except:
event = ""
def matches():
dict = {"https://sport-tv-guide.live/live/boxing":"/var/scripts/output/boxing.txt"}
for key, value in dict.items():
soup=makesoup(url=key)
game_check = soup.find('div', class_='alert alert-info')
if game_check is not None:
with open(value ,"w") as text_file:
text_file.writelines("No games found for event")
else:
linkscrape(links=soup.find_all('a', {'class': 'article flag', 'href': True}), savefile = value)
matches()
Когда я запускаю код локально, я получаю следующий результат:
When I run the exact same code on my VPS server, I receive the following output:
неожиданный
Сначала я думал, что веб-сайт блокирует запрос на основе пользовательского агента, поэтому я добавил заголовки в приведенный выше код, но проблема не исчезла. Единственное, что я могу придумать, это то, что сайт блокирует IP-адрес сервера VPS, хотя, как ни странно, он распечатывает правильный URL-адрес, но HTML URL-адреса не выводится / не обнаруживается Beautifulsoup, когда я Я использую VPS.
Заранее благодарим вас за любые предложения по возможному решению этой проблемы.