1

Тема: AHK: Получение инфы с сайта

Привет. Вот тут во вьювере внизу указано "Page 1 of 240". Как получить эти значения?

2

Re: AHK: Получение инфы с сайта

Наверное получить HTML-код страницы, найти в нём блок

<p><span class="BRcurrentpage">Page (1 of 246)</span></p>

и использовать  RegEx.

3 (изменено: DD, 2020-12-06 16:08:11)

Re: AHK: Получение инфы с сайта

В самом HTML-коде страницы этого нет, а только в инструментах разработчика видно. Видимо, формируется посредством js.

4

Re: AHK: Получение инфы с сайта

Тогда наверно можно только загрузить в Хром или Эдж, используя Chrome.ahk, дождаться появления элемента с нужным классом и получить его текст.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Получение инфы с сайта

Я сохранял из Мозиллы в файл на рабочий стол. Вот такой фрагмент там присутствует:

              <li class="scrubber">
                <div class="BRnavpos">
                  <div class="BRpager ui-slider ui-corner-all ui-slider-horizontal ui-widget ui-widget-content"><div class="ui-slider-range ui-corner-all ui-widget-header ui-slider-range-min" style="width: 0%;"></div><span tabindex="0" class="ui-slider-handle ui-corner-all ui-state-default" style="left: 0%;"></span></div>
                  <div class="BRnavline"></div>
                </div>
                <p><span class="BRcurrentpage">Page (1 of 246)</span></p>
              </li>
              <li>

6

Re: AHK: Получение инфы с сайта

А почему бы ему там не присутствовать, если он виден в инструментах разработчика.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Получение инфы с сайта

ypppu

Наверняка, если в самой Мозилле после загрузки страницы открыть ее HTML-код — это там не найдётся.

8

Re: AHK: Получение инфы с сайта

DD, да если просто пройти в Мозилле по ссылке, то не найдётся. А скачивать страницу по какой-то причине нельзя?

9

Re: AHK: Получение инфы с сайта

Стр. ведь скриптом будет скачиваться, а не Мозиллой). А скрипт её как есть скачивает.

10

Re: AHK: Получение инфы с сайта

А, понял.

11 (изменено: Xameleon, 2020-12-06 23:41:09)

Re: AHK: Получение инфы с сайта

DD, может я чего не понимаю, тогда поправьте меня. Залез на сайт, открыл инструменты разработчика, фильтранул по XHR, вижу адрес:

https://ia800603.us.archive.org/BookRea … symb00tres

С него выгружается JSON набор данных. Среди прочего


"data": [
				[
					{
						"width": 3344,
						"height": 4977,
						"uri": "https://ia800603.us.archive.org/BookReader/BookReaderPreview.php?id=dictionaryofsymb00tres&subPrefix=dictionaryofsymb00tres&itemPath=/1/items/dictionaryofsymb00tres&server=ia800603.us.archive.org&page=leaf1&fail=preview&",
						"leafNum": 1,
						"uri_2": {
							"link": "https://archive.org/download/dictionaryofsymb00tres/dictionaryofsymb00tres_jp2.zip/dictionaryofsymb00tres_jp2%2Fdictionaryofsymb00tres_0001.jp2",
							"base_params": "ext=jpg"
						},
						"pageType": "Cover",
						"ppi": 514,
						"pageSide": "R",
						"origIndex": 0,
						"viewable": true
					}
				],
				[
					{
						"width": 2979,
						"height": 4574,
						"uri": "https://ia800603.us.archive.org/BookReader/BookReaderPreview.php?id=dictionaryofsymb00tres&subPrefix=dictionaryofsymb00tres&itemPath=/1/items/dictionaryofsymb00tres&server=ia800603.us.archive.org&page=leaf2&fail=preview&",
						"leafNum": 2,
						"uri_2": {
							"link": "https://archive.org/download/dictionaryofsymb00tres/dictionaryofsymb00tres_jp2.zip/dictionaryofsymb00tres_jp2%2Fdictionaryofsymb00tres_0002.jp2",
							"base_params": "ext=jpg"
						},
						"pageType": "Blank Tissue",
						"ppi": 514,
						"pageSide": "L",
						"origIndex": 1,
						"viewable": true
					},
					{
						"width": 2979,
						"height": 4574,
						"uri": "https://ia800603.us.archive.org/BookReader/BookReaderPreview.php?id=dictionaryofsymb00tres&subPrefix=dictionaryofsymb00tres&itemPath=/1/items/dictionaryofsymb00tres&server=ia800603.us.archive.org&page=leaf3&fail=preview&",
						"leafNum": 3,
						"uri_2": {
							"link": "https://archive.org/download/dictionaryofsymb00tres/dictionaryofsymb00tres_jp2.zip/dictionaryofsymb00tres_jp2%2Fdictionaryofsymb00tres_0003.jp2",
							"base_params": "ext=jpg"
						},
						"pageType": "Normal",
						"ppi": 514,
						"pageSide": "R",
						"origIndex": 2,
						"viewable": true
					}
				], ....

Элементы содержат номера страниц leafNum. Т.е подсчитать количество и дёргать вообще без проблем. В чём сложность ?

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !
+ DD

12

Re: AHK: Получение инфы с сайта

Xameleon

Спасибо! Не ожидал, что они будут использовать такой лист на сайте).

13

Re: AHK: Получение инфы с сайта

DD, всегда после загрузки страницы первым делом вбивайте в поиск, то что вам нужно найти и анализируйте полученные результаты.

14

Re: AHK: Получение инфы с сайта

Я в XHR искал переменную с количеством страниц, не думал что по ссылке будет список.

15

Re: AHK: Получение инфы с сайта

Не понимаю про какую ссылку вы говорите.
1) Чистите кеш и куки (я использую оперу)
2) Выключаете джаваскрипт
3) Загружаете нужный вам сайт
4) Если сайт не загрузился, включаете джаваскрипт, чистите кеш, куки, перезагружаете сайт
5) Нажимаете ctrl+f, вписываете что вам надо найти, нажимаете энтер.
В результате получаете php, который загружает  данный json.

+ DD

16

Re: AHK: Получение инфы с сайта

А есть более быстрый способ получить конкретные данные с сайта, чем ResponseText? Например "тут", интернет магазин. Нужно получать фразу "Sold Out", а код страницы 240к+ символов. В итоге ради одной фразы надо получать всю страницу, а потом через regex искать нужное, а на это уходит время. Может можно как-то сразу обращаться и парсить "<button>Sold Out</button>" ?


try 
{
	link := ""
	http := ComObjCreate("WinHTTP.WinHTTPRequest.5.1")
	http.Open("GET", link, False)
	http.Send()
	http.WaitForResponse()
	RegExMatch(http.ResponseText, "Sold Out", match)
	msgbox, %match%
}
catch e
{
	msgbox, No internet connection.
}
GD

17

Re: AHK: Получение инфы с сайта

Да. Почитать их апи.

18

Re: AHK: Получение инфы с сайта

Malcev Нашел спасибо, только я не знаю как работать с API, может есть примеры какие-нибудь для ahk или посоветуете что-нибудь ?

GD

19

Re: AHK: Получение инфы с сайта

На ахк мало что есть готового.
Либо изучать самому, либо переходить на питон.

20 (изменено: DD, 2020-12-07 19:35:25)

Re: AHK: Получение инфы с сайта

Можно еще грузить часть страницы, определенное количество байт: http://forum.script-coding.com/viewtopi … 761#p83761

21 (изменено: Botsy, 2020-12-08 17:37:35)

Re: AHK: Получение инфы с сайта

Спасибо.

GD

22

Re: AHK: Получение инфы с сайта

Как получить весь 15-тысячный список из вкладки по умолчанию? То есть, нужна возможность получить постоянные ссылки на переходы внизу, чтобы последовательно их сохранить.