Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 25, 2018 17:38:15

Simuran
Зарегистрирован: 2018-09-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с BeautifulSoup

Добрый день! Попытался тут создать простое приложение, которое вытягивает со страницы в контакте значение поля “Мировоззрение” (оно представляет собой ссылку, в URL которой присутствует слово religion). Получилось следующее:

 import requests, bs4, re
r = requests.get('http://vk.com/antenor')
soup = bs4.BeautifulSoup(r.text, 'html.parser')
print(soup.find('a', href=re.compile('religion+')))

При запуске оно выдаёт мне None. Но почему? Буду благодарен за ответы.

Отредактировано Simuran (Сен. 25, 2018 17:38:32)

Офлайн

#2 Сен. 25, 2018 22:41:54

BM21
Зарегистрирован: 2018-09-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с BeautifulSoup

Simuran
import requests, bs4, re r = requests.get('http://vk.com/antenor') soup = bs4.BeautifulSoup(r.text, ‘html.parser’) print(soup.find('a', href=re.compile('religion+')))
Надо подменить user агент в requests т.к для User Agent библиотеки requests, там стр. в др. виде отдается.
Примерно так:
 headers = {
    'User-Agent': 'Тут новый агент',
}
r = requests.get('http://vk.com/antenor', headers=headers)

Офлайн

#3 Сен. 26, 2018 12:33:24

Simuran
Зарегистрирован: 2018-09-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с BeautifulSoup

BM21
Надо подменить user агент в requests т.к для User Agent библиотеки requests, там стр. в др. виде отдается.
Попробовал сделать, как Вы сказали, но Питон мне выдал ошибку. Но, видимо, проблема действительно с requests, потому что в том, что оно выдаёт у меня, нет ссылки со словом religion. Но когда я открываю HTML-код в браузере, она там есть. Может быть, дело в том, что в контакте этот блок по умолчанию свёрнут?

Офлайн

#4 Сен. 27, 2018 00:20:24

BM21
Зарегистрирован: 2018-09-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с BeautifulSoup

Simuran
Причина в User Agent я тестировал коод о котором писал вот полный.
 import requests, bs4, re
headers = {
    'User-Agent': 'Юзер агент',
}
r = requests.get('http://vk.com/antenor', headers=headers)
print r.text
soup = bs4.BeautifulSoup(r.text, 'html.parser')
print(soup.find('a', href=re.compile('religion+')))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version