Василиса Лукьянчикова
Новичок
- Сообщения
- 34
- Репутация
- 0
Добрый вечер. Помогите решить проблему.
Есть скрипт вытаскивающий с сайта по трудоустройству chastnik.ru - адреса вакансий.
Как аналогичным образом вытащить текст из списков с сайта irr.ru ?
Адрес первой страницы https://ivanovo.irr.ru/jobs-education/
Адрес второй страницы https://ivanovo.irr.ru/jobs-education/page2/ и т.д.
(Если изменить по аналогии название сайта в скрипте - то скрипт выдаст пустой незаполненный файл JobList.txt )
Есть скрипт вытаскивающий с сайта по трудоустройству chastnik.ru - адреса вакансий.
Код:
#include <Inet.au3>
#include <FileConstants.au3>
Global $g_sFile = @ScriptDir & "\JobList.txt", $g_sPath = "/aob/22"
_DumpJobList($g_sFile, $g_sPath)
Func _DumpJobList($sFile, $sPath)
Local $sURL = "https://chastnik.ru", $sHTML, $aRegExp, $sOut, $hFile
While 1
;~ $sHTML = _INetGetSource($sURL & $sPath) ; было
;~ If @error Then ExitLoop ;
;
$sHTML = INetRead($sURL & $sPath, $INET_FORCERELOAD)
If @error Then ExitLoop ;
$sHTML = BinaryToString($sHTML, $SB_UTF8) ; не забываем кодировку страницы UTF8
;
$aRegExp = StringRegExp($sHTML, '<div class="large-12 columns aob__text"><a href="(.+?)">(.*?)</a></div>', $STR_REGEXPARRAYGLOBALMATCH)
If Not @error Then
For $i = 0 To UBound($aRegExp) - 1 Step 2
$sOut &= "URL=" & $sURL & $aRegExp[$i] & @CRLF & "Desc=" & $aRegExp[$i + 1] & @CRLF & @CRLF
Next
EndIf
$aRegExp = StringRegExp($sHTML, '<a class="block_white navigation__arrow navigation__next" href="(.+?)" title="Следующая страница">След.</a>', $STR_REGEXPARRAYMATCH)
If @error Then ExitLoop
$sPath = $aRegExp[0]
WEnd
;~ $hFile = FileOpen($sFile, $FO_OVERWRITE) ; было
$hFile = FileOpen($sFile, BitOr($FO_OVERWRITE, $FO_ANSI)) ; стало: кодировку можно заменить на $FO_UTF8
FileWrite($hFile, $sOut)
FileClose($hFile)
EndFunc ;==>_DumpJobList
Адрес первой страницы https://ivanovo.irr.ru/jobs-education/
Адрес второй страницы https://ivanovo.irr.ru/jobs-education/page2/ и т.д.
(Если изменить по аналогии название сайта в скрипте - то скрипт выдаст пустой незаполненный файл JobList.txt )
Код:
#include <Inet.au3>
#include <FileConstants.au3>
Global $g_sFile = @ScriptDir & "\JobList.txt", $g_sPath = "/jobs-education"
_DumpJobList($g_sFile, $g_sPath)
Func _DumpJobList($sFile, $sPath)
Local $sURL = "https://irr.ru", $sHTML, $aRegExp, $sOut, $hFile
While 1
;~ $sHTML = _INetGetSource($sURL & $sPath) ; было
;~ If @error Then ExitLoop ;
;
$sHTML = INetRead($sURL & $sPath, $INET_FORCERELOAD)
If @error Then ExitLoop ;
$sHTML = BinaryToString($sHTML, $SB_UTF8) ; не забываем кодировку страницы UTF8
;
$aRegExp = StringRegExp($sHTML, '<div class="large-12 columns aob__text"><a href="(.+?)">(.*?)</a></div>', $STR_REGEXPARRAYGLOBALMATCH)
If Not @error Then
For $i = 0 To UBound($aRegExp) - 1 Step 2
$sOut &= "URL=" & $sURL & $aRegExp[$i] & @CRLF & "Desc=" & $aRegExp[$i + 1] & @CRLF & @CRLF
Next
EndIf
$aRegExp = StringRegExp($sHTML, '<a class="block_white navigation__arrow navigation__next" href="(.+?)" title="Следующая страница">След.</a>', $STR_REGEXPARRAYMATCH)
If @error Then ExitLoop
$sPath = $aRegExp[0]
WEnd
;~ $hFile = FileOpen($sFile, $FO_OVERWRITE) ; было
$hFile = FileOpen($sFile, BitOr($FO_OVERWRITE, $FO_ANSI)) ; стало: кодировку можно заменить на $FO_UTF8
FileWrite($hFile, $sOut)
FileClose($hFile)
EndFunc ;==>_DumpJobList