Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 3, 2013 16:25:23

Gecko
Зарегистрирован: 2012-11-17
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вход на сайт и чтение его html кода

Здравствуйте, друзья. Подскажите, пожалуйста, можно ли средствами python 2.7 осуществить такую программу:
1) Программа заходит на сайт (например, на vk.com)
2) Программа предлагает ввести логин и пароль
3) Программа осуществляет вход
4) Далее в нее можно ввести ссылку ресурса и она перейдет на указанную ссылку все того же, скажем, контакта и выведет html код страницы на экран/в файл

Вывод, очевидно, я понимаю, да и вход на сайт, если я ничего не путаю можно сделать так:

import urllib2
from urllib import urlencode
from cookielib import CookieJar
cookie_processor = urllib2.HTTPCookieProcessor(CookieJar())
opener = urllib2.build_opener(cookie_processor)
opener.open('http://vk.com/', urlencode({}))
но остальное…
Помогите, пожалуйста

Офлайн

#2 Янв. 4, 2013 10:28:37

funnyman
Зарегистрирован: 2012-07-10
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Вход на сайт и чтение его html кода

Если хочется сделать работу прозрачнее и нет необходимости работать на уровне urllib2 то посоветую модуль Grab, по средствам grab объекта вы сможете делать все что вам нужно и даже больше, есть документация на русском

Офлайн

#3 Янв. 4, 2013 16:09:51

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

Вход на сайт и чтение его html кода

Используйте Grab или requests.
Пример авторизации и получения произвольной страницы с использованием requests:

import requests
EMAIL = ''
PASSWORD = ''
s = requests.Session()
# авторизация
resp = s.post('https://login.vk.com', data={
  'act': 'login',
  'email': EMAIL,
  'pass': PASSWORD
})
print(resp.text)
# получаем произвольные страницы от имени залогиненного пользователя
resp = s.get('http://vk.com/feed')
print(resp.text)
Gecko
но остальное…
Помогите, пожалуйста
Что конкретно вам не понятно?



Офлайн

#4 Янв. 9, 2013 18:25:28

Gecko
Зарегистрирован: 2012-11-17
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вход на сайт и чтение его html кода

GaiveR Теперь все понятно. Ну почти. requests.Session().post(adress, data) не совсем понял, что произошло. Что должно быть в этом словаре? переменные, как они называются в коде страницы?

Офлайн

#5 Янв. 9, 2013 18:37:00

Gecko
Зарегистрирован: 2012-11-17
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вход на сайт и чтение его html кода

Да, а еще возник вопрос - как триггернуть кнопку на странице?

Офлайн

#6 Янв. 10, 2013 08:37:48

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

Вход на сайт и чтение его html кода

Gecko
Что должно быть в этом словаре? переменные, как они называются в коде страницы?
В data должны быть параметры post-запроса. Посмотреть их в коде страницы можно, но удобнее делать это в сниффере (fiddler2, TamperData в firefox и др.)

Gecko
Да, а еще возник вопрос - как триггернуть кнопку на странице?
Триггернуть = нажать?
Нажмите на кнопку, посмотрите в сниффере какие запросы отправляются, повторите их с помощью requests/grab



Офлайн

#7 Янв. 10, 2013 15:55:00

Gecko
Зарегистрирован: 2012-11-17
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Вход на сайт и чтение его html кода

GaiveRТеперь все) Спасибо

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version