BeautifulSoap и Urllib2 неправильно извлекают данные - PullRequest
0 голосов
/ 10 мая 2019

Я использую следующий код, пытаясь получить ВСЕ данные веб-сайта в переменной Python, чтобы извлечь данные в базу данных Mongo.

url = "<url>"
page = urllib2.urlopen(url)
html = page.read()

print(html)

soup = BeautifulSoup(page, 'html.parser')

Содержимое, хранящееся в переменных soap / page, представляет собой только HTML-макет, включая вложенный скрипт js.

Почему фактические данные веб-сайта не представлены?

1 Ответ

0 голосов
/ 19 июня 2019

Проблема была решена.Это не имеет ничего общего с самими библиотеками Python, но проблема аутентификации.

Код, который я использовал для решения этой проблемы:

username = "xxx"
password = "yyy"

command = "curl -X GET -u \"" + username + ":" + password +  "\" " + url 
request  = urllib2.Request(url)
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)

response = urllib2.urlopen(request, timeout=20)
result = response.read()
soup = BeautifulSoup(result, 'html.parser')
prettified = soup.prettify().encode("utf-8")
...