Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 13, 2016 01:04:00

casiy
Зарегистрирован: 2014-01-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер на BeautifulSoup

Пытаюсь парсить одну страницу сайта,но не получается т.к. на неё надо сперва зайти под своим логином и паролем,а суп видит только главную страницу. Подскажите как соединить авторизацию на сайте и BeautifulSoup в один скрипт.

Офлайн

#2 Фев. 15, 2016 11:33:28

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Парсер на BeautifulSoup

Загуглить на предмет python BeautifulSoup authorization
скопировать говтоый пример - радоваться жизни



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Март 16, 2016 14:21:07

Irina1973
Зарегистрирован: 2016-03-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер на BeautifulSoup

Пытаюсь парсить сайт, но не получается

import urllib.request
from bs4 import BeautifulSoup
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
def parse(html):
    soup = BeautifulSoup(html)
    table = soup.find('table', class_='row')
    print(table.prettify())
def main():
    parse(get_html('https://www.weblancer.net/projects/'))
    
if __name__ == '__main__':
    main()
мне выдает предупреждение:
Warning (from warnings module):
File “C:\Python34\lib\site-packages\beautifulsoup4-4.4.1-py3.4.egg\bs4\__init__.py”, line 166
UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system (“html.parser”). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.

To get rid of this warning, change this:

BeautifulSoup()

to this:

BeautifulSoup(, “html.parser”)

Traceback (most recent call last):
File “C:\Users\Simpson\Documents\Парсер\google\google.py”, line 18, in <module>
main()
File “C:\Users\Simpson\Documents\Парсер\google\google.py”, line 14, in main
parse(get_html('https://www.weblancer.net/projects/'))
File “C:\Users\Simpson\Documents\Парсер\google\google.py”, line 11, in parse
print(table.prettify())
AttributeError: ‘NoneType’ object has no attribute ‘prettify’
У меня установлена win7.
Как мне избежать этого предупреждения? Пожалуйста подскажите.

Офлайн

#4 Март 16, 2016 16:44:51

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Парсер на BeautifulSoup

Для устранения данного варнинга нужно использовать интерфейс типа “глазики” и механизм распознавания типа мозг
Потому что ровно 15 секунд нужно что бы прочитать фул лог ошибки или загуглить его часть и написать

import urllib.request
from bs4 import BeautifulSoup
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
def parse(html):
    soup = BeautifulSoup(html, "html.parser")
    table = soup.findAll('table', class_='row')
    print(table)
def main():
    parse(get_html('https://www.weblancer.net/projects/'))
if __name__ == '__main__':
    main()



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Март 16, 2016 17:51:25

Irina1973
Зарегистрирован: 2016-03-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Парсер на BeautifulSoup

ZerG, спасибо!!!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version