Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Парсинг HTML
Показать сообщение отдельно

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Smasher, вариант с grep и wget :
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion

Set URL=https://studip.fh-trier.de/index.php?again=yes
Set Page=%Temp%\loginpage.tmp

rem Получаем страницу,особо не отсвечивая и прикидываясь браузером.
wget --no-check-certificate -U "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1" --referer "https://studip.fh-trier.de/index.php" "%URL%" -O "%Page%" 1>nul 2>nul


rem Получение требуемого тэга целиком
For /F "tokens=1 delims=<>" %%A In ('grep -Eo "<input.{21}security_token[^<]*>" "%Page%"') Do (
	rem После избавления от символов перенаправления в предыдущем цикле заменяем
	rem двойные кавычки, потому что их нельзя установить в качестве значения delims
	Set Data=%%A&Set Data=!Data:"='!
	rem И вытягиваем ключик
	For /F "tokens=6 delims='" %%B In ("!Data!") Do (Set security_token=%%B)
)
For /F "tokens=1 delims=<>" %%A In ('grep -Eo "<input.{21}login_ticket[^<]*>" "%Page%"') Do (
	Set Data=%%A&Set Data=!Data:"='!
	For /F "tokens=6 delims='" %%B In ("!Data!") Do (Set login_ticket=%%B)
)

Echo security_token:	!security_token!
Echo login_ticket:	!login_ticket!
Pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:02, 24-09-2012 | #11

Название темы: Парсинг HTML