Как очистить сайт, который требует входа с помощью 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
Ответы
Ответ 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, чтобы извлечь нужные данные.