- 366
- 89
- Версия MoonLoader
- .026-beta
Почему парсит не все блоки?
Из блоков я получаю id территории и название территории, есть пропущенные id (напр. в 1,2,4,8,10 пропущены 3,5,6,7,9) их 14 штук, максимальный id территории - 145, принт выводит 131.
help pls
Вот другой пример, получаю список домов(их всего 2035), принт выводит только 180.
print("Total: ", #areaBlocks)
выводит 117. Самих блоков с классом .sm-unit.sm-area
- 131. Я просто не понимаю, почему он не обрабатывает эти блоки, что ему мешает?Из блоков я получаю id территории и название территории, есть пропущенные id (напр. в 1,2,4,8,10 пропущены 3,5,6,7,9) их 14 штук, максимальный id территории - 145, принт выводит 131.
Lua:
local requests = require 'requests'
local htmlparser = require 'htmlparser'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
function parseHTML(html)
local root = htmlparser.parse(html)
local areaBlocks = root:select(".sm-unit.sm-area")
print("Total: ", #areaBlocks)
for i, area in ipairs(areaBlocks) do
local titleElement = area:select(".sm-unit-info-title")[1]
local sm_id = area.attributes and area.attributes["sm_id"]
local title = titleElement and titleElement:getcontent()
-- id территории, название территории
print(i, sm_id, title)
end
end
function main()
while not isSampAvailable() do wait(0) end
local url = "https://www.delirium-samp.ru/map/gangzone"
local response = requests.get(url)
if response.status_code == 200 then
parseHTML(u8:decode(response.text))
else
print("Ошибка при запросе страницы: " .. response.status_code)
end
wait(-1)
end
help pls
Вот другой пример, получаю список домов(их всего 2035), принт выводит только 180.
Lua:
function parseHTML(html)
local root = htmlparser.parse(html)
local areaBlocks = root:select(".sm-unit.sm-marker.sm-marker-dot")
print("Total: ", #areaBlocks)
for i, area in ipairs(areaBlocks) do
local titleElement = area:select(".sm-unit-info-title")[1]
local title = titleElement and titleElement:getcontent()
print(i, title)
end
end
function main()
while not isSampAvailable() do wait(0) end
--local url = "https://www.delirium-samp.ru/map/gangzone"
local url = "https://www.delirium-samp.ru/map/properties"
local response = requests.get(url)
if response.status_code == 200 then
parseHTML(u8:decode(response.text))
else
print("Ошибка при запросе страницы: " .. response.status_code)
end
wait(-1)
end
Последнее редактирование: