Ошибка "Неудачная обработка файла Browscap" python webscraping - PullRequest
0 голосов
/ 15 ноября 2018

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

Я никогда раньше не занимался очисткой веб-страниц, и сайт требует аутентификации при входе в систему, так что эта проблема, вероятно, более сложная, чем я думаю, но вот что у меня есть:

import certifi
from bs4 import BeautifulSoup
import urllib3 as u

url = "https://upnet.up.ac.za/psc/pscsmpra/EMPLOYEE/SA/c/UP_SS_MENU.UP_SS_RESULTS_FL.GBL"
http = u.PoolManager(cert_reqs='CERT_REQUIRED',ca_certs=certifi.where())

try:
    r =    http.request('GET',url,timeout=u.Timeout(connect=1.0, read=2.0))
except u.exceptions.NewConnectionError: 
    print("Connection Failed")

print(r.status)
soup = BeautifulSoup(r.data,features="html.parser")

print(soup.prettify())

запуск этойКод возвращает следующее:

200

Ошибка обработки файла Browscap.как это может отсутствовать.Пожалуйста, обратитесь к системному администратору.

Если я запускаю r.headers, я получаю это:

HTTPHeaderDict ({'Date': 'Четверг, 15 ноября 2018 07:13: 27 GMT ',' Сервер ':' Apache ',' Content-Length ':' 99 ',' X-Frame-Options ':' SAMEORIGIN ',' Set-Cookie ':' appcsmpr08-7007-PORTAL-PSJSESSIONID =5T8WMyIf2lC2ZSBTaf84UZBA-tV9BLAh 631984709;! домен = .up.ac.za, путь = /; HttpOnly, NSC_wt_dbnqvtqspe = ffffffff8adf14db45525d5f4f58455e445a4a422d6f, истекает = чт, 15-ноября-2018 8:09:29 GMT, путь = /; HttpOnly, dtCookie = E2152DB7F41B75674D0AE5146876F0EB| UFNDU018MQ; Path = /; Domain = .up.ac.za ',' X-Clacks-Overhead ':' GNU Terry Pratchett ',' Content-Type ':' text / plain; charset = UTF-8 '})PS C: \ Users \ Shaun \ Documents \ Personal_Projects \ markAlert>

Я предполагаю, что я могу подключиться, но я не уверен, что подразумевается под ошибкой выше.Поиск в Google не помог.

Любая помощь о том, как это исправить, приветствуется!

1 Ответ

0 голосов
/ 15 ноября 2018

ошибка пришла с сервера, потому что не удалось обнаружить ваш запрос user-agent, установите его.

heads = {'user-agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0'}
http = u.PoolManager(headers=heads)
...