Подтвердить что ты не робот

Как очистить сайт, который требует входа с помощью python и beautifulsoup?

Если я хочу очистить веб-сайт, требующий сначала входа в систему с паролем, как я могу начать очищать его с помощью python с помощью библиотеки beautifulsoup4? Ниже приводится то, что я делаю для веб-сайтов, для которых не требуется вход в систему.

from bs4 import BeautifulSoup    
import urllib2 
url = urllib2.urlopen("http://www.python.org")    
content = url.read()    
soup = BeautifulSoup(content)

Как изменить код для входа в систему? Предположим, что веб-сайт, который я хочу очистить, - это форум, требующий входа в систему. Пример: http://forum.arduino.cc/index.php

4b9b3361

Ответ 1

Вы можете использовать mechanize:

import mechanize
from bs4 import BeautifulSoup
import urllib2 
import cookielib

cj = cookielib.CookieJar()
br = mechanize.Browser()
br.set_cookiejar(cj)
br.open("https://id.arduino.cc/auth/login/")

br.select_form(nr=0)
br.form['username'] = 'username'
br.form['password'] = 'password.'
br.submit()

print br.response().read()

Или urllib - Войти на сайт с помощью urllib2

Ответ 2

Вы можете использовать selenium для входа в систему и получения источника страницы, который затем можно передать в Beautiful Soup, чтобы извлечь нужные данные.