Автор Тема: Как выхватить текст с anekdotov.net и поместить его в текстовый файл  (Прочитано 632 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Бонифаций [?]

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Здравствуйте.
Есть такой сайт  anekdotov.net.

Как скриптом autoit - выхватить с этого сайта - случайный анекдот со случайной страницы и поместить его в текстовый файл txt, лежащий рядом со скриптом ?

Русское сообщество AutoIt


Помечен как лучший ответ пользователем Бонифаций Отправлен Апрель 12, 2018, 18:50:52

Оффлайн gunter123 [?]

  • Осваивающий
  • **
  • Сообщений: 109
  • Репутация: 40
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
 :)
Код: AutoIt [Выделить]
#include <Array.au3>
#include <INet.au3>

Dim $aUrls[28][3] = [ ["http://anekdotov.net/anekdot/today.html", "<div align=justify>", "</div"], _
                     ["http://anekdotov.net/anekdot/", '<A NAME="\d+"></A>', "</div"], _
                     ["http://anekdotov.net/anekdot/day/", "</b></font>: ", "<table width"], _
                     ["http://anekdotov.net/anekdot/week/", "<b>\d+ место:</b>", "<table width"], _
                     ["http://anekdotov.net/anekdot/month/", "<b>\d+ место:</b>", "<table width"], _
                     ["http://anekdotov.net/anekdot/blonde/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/vk/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/vovochka/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/gai/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/today/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/intim/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anwar/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/med/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/ancomp/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/crime/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/narkom/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/naci/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/nr/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/porut/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/family/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/skazka/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/sms/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/1001/", "<p align=left>\d+\. ", "<table width"], _
                     ["http://anekdotov.net/anekdot/student/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/chapai/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/black/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/boroda/", "<p align=left>", "<table width"], _
                     ["http://anekdotov.net/anekdot/other/", "<p align=left>", "<table width"] _
                  ]         ; Массив ссылок, начало и конец анекдотов на каждой из страниц

_WriteToFile()

Func _WriteToFile($sFileName = @ScriptDir & '\Result.txt')
   Local $iRand = Random(0, UBound($aUrls) - 1, 1)                                      ; Страница, с которой будем брать случайный текст
   Local $sHTML = _INetGetSource($aUrls[$iRand][0], True)                               ; Читаем в переменную исходник страницы
   If @error Then Exit MsgBox(4096, "", "Ошибка чтения страницы " & $aUrls[$iRand][0])
   Local $aList = StringRegExp($sHTML, '(?s)' & $aUrls[$iRand][1] & '(.+?)' & $aUrls[$iRand][2], 3) ; Массив анекдотов
   ;_ArrayDisplay($aList)

   $iRand = Random(0, UBound($aList) - 1, 1)                                        ; Индекс случайного анекдота
   $aList[$iRand] = StringReplace($aList[$iRand], "&mdash;", '—')
   $aList[$iRand] = StringReplace($aList[$iRand], "<BR>", @CRLF)
   $aList[$iRand] = StringReplace($aList[$iRand], "&#38;#39;&#38;#39;", '"')
   $aList[$iRand] = StringRegExpReplace($aList[$iRand], "(?s)(<.+?>)", "")          ; Несколько замен в коде страницы

   FileDelete($sFileName)
   FileWrite($sFileName, $aList[$iRand])                                            ; Записываем в указанный файл
   ConsoleWrite($aList[$iRand] & @CRLF & '------------------' & @CRLF)
EndFunc

Is it future or is it past?

Оффлайн Бонифаций [?]

  • Новичок
  • *
  • Сообщений: 9

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
11 Ответов
6477 Просмотров
Последний ответ Апрель 17, 2010, 01:16:57
от CreatoR
0 Ответов
2615 Просмотров
Последний ответ Апрель 17, 2010, 00:27:51
от CreatoR
6 Ответов
5008 Просмотров
Последний ответ Март 26, 2015, 23:07:11
от ivanius
7 Ответов
5041 Просмотров
Последний ответ Март 21, 2011, 15:06:15
от Yashied
6 Ответов
3827 Просмотров
Последний ответ Июль 14, 2011, 07:50:59
от gregaz
2 Ответов
2547 Просмотров
Последний ответ Февраль 11, 2012, 23:40:49
от CreatoR
8 Ответов
2619 Просмотров
Последний ответ Февраль 04, 2013, 02:29:07
от agikon
7 Ответов
3709 Просмотров
Последний ответ Июль 29, 2013, 15:17:33
от agikon
7 Ответов
2809 Просмотров
Последний ответ Июль 31, 2013, 18:05:31
от agikon
0 Ответов
636 Просмотров
Последний ответ Январь 29, 2017, 12:01:35
от ason