30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
|
1 | |
.NET 4.x Парсер данных с сайта и запись в XML27.07.2011, 03:44. Показов 5865. Ответов 41
Метки нет (Все метки)
Как создать парсер для сайта который копирует нужный мне кусок кода с нужных мне стр. и записывает их в xml файл... Например с этой стр http://ru.aiondatabase.com/npc/213270/ мне нужно записать кусок кода
mapwidth, mapheight, false, '/img/aion/mapicons/maploc1.png', null); var mapData = [{"title":"\u0411\u0435\u043b\u0443\u0441\u043b\u0430\u043d","types":[{"id":1,"name":"\u0411\u0435\u043b\u0443\u0441\u043b\u0430\u043d"}],"data":[{"x":56.1879487179,"y":45.6700321543,"type":1,"content":"\u041b\u043e\u043a\u043 0\u0446\u0438\u044f: 1399.338 \/ 1406.33 \/ 295"},{"x":54.3234102564,"y":46.6972025723,"type":1,"content":"\u041b\u043e\u043 a\u0430\u0446\u0438\u044f: 1431.283 \/ 1333.613 \/ 265"},{"x":55.359,"y":45.7150482315,"type":1,"content":"\u041b\u043e\u043a\u0430 \u0446\u0438\u044f: 1400.738 \/ 1374.001 \/ 285"},{"x":52.6724102564,"y":45.457170418,"type":1,"content":"\u041b\u043e\u043a \u0430\u0446\u0438\u044f: 1392.718 \/ 1269.224 \/ 240.0004"},{"x":48.6137948718,"y":58.7960450161,"type":1,"content":"\u041b\u043e \u043a\u0430\u0446\u0438\u044f: 1807.557 \/ 1110.938 \/ 313"},{"x":54.8303076923,"y":47.2138585209,"type":1,"content":"\u041b\u043e\u043 a\u0430\u0446\u0438\u044f: 1447.351 \/ 1353.382 \/ 275"},{"x":54.5118205128,"y":47.8622829582,"type":1,"content":"\u041b\u043e\u043 a\u0430\u0446\u0438\u044f: 1467.517 \/ 1340.961 \/ 274"},{"x":52.0524102564,"y":56.4984565916,"type":1,"content":"\u041b\u043e\u043 a\u0430\u0446\u0438\u044f: 1736.102 \/ 1245.044 \/ 335"},{"x":55.8982564103,"y":48.4296784566,"type":1,"content":"\u041b\u043e\u043 a\u0430\u0446\u0438\u044f: 1485.163 \/ 1395.032 \/ 300"},{"x":50.8781794872,"y":56.5975241158,"type":1,"content":"\u041b\u043e\u043 a\u0430\u0446\u0438\u044f: 1739.183 \/ 1199.249 \/ 335"}],"imageFile":"\/img\/aion\/zonemaps\/ru_ru\/600\/df3_map.jpg"}]; Добавлено через 2 минуты Принцеп работы парсера мне особо не важен... Главное что бы он подрубался к сайту и копировал нужную мне информацию
0
|
27.07.2011, 03:44 | |
Ответы с готовыми решениями:
41
Запись XML-дерева сразу в xml-файл (парсер JAXP) Парсер данных из txt или xml формата Парсер данных с сайта Парсер данных с сайта |
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
||||||
27.07.2011, 06:50 | 2 | |||||
Попробуй балалайку:
1
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
||||||
27.07.2011, 07:03 [ТС] | 3 | |||||
Почти то что нужно... А где указывается какой кусок парсить? И как из текстбокса записать всю информацию в .xml?
Пробовал так
0
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
|
27.07.2011, 07:22 [ТС] | 5 |
Благодарю ... А диапазон страниц как указать? Допустим мне надо с http://ru.aiondatabase.com/npc/213270/ по http://ru.aiondatabase.com/npc/213288/?
0
|
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
||||||
27.07.2011, 07:28 | 6 | |||||
Treals, тогда так:
1
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
||||||
27.07.2011, 07:54 [ТС] | 7 | |||||
))) вот и первая ошибка "Индекс находился вне границ массива." ... Это что значит?
Указывает на этот код
0
|
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
27.07.2011, 08:07 | 8 |
Treals, сложно сказать, почему это возникло, у меня этот код сработал.
Добавлю, что этот код применим только для этого сайта, и если на какой-то странице будет отсутствовать кусок текста mapwidth, mapheight или }]; то вот такая ошибка имеет право быть. Посмотри еще на какой именно странице это вылетело (по переменной I), просмотри исходный код страницы, и убедись, что наши искомые блоки там присутствуют.
0
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
|
27.07.2011, 08:21 [ТС] | 9 |
Я уже разобрался... Как ты выше уже сказал отсутствие куска кода на стр.
Добавлено через 10 минут А как задать исключение при котором если на этой стр. нету искомого кода то переходить к другой стр? И сделать допустим два искомых значения в коде стр.
0
|
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
|||||||||||
27.07.2011, 08:54 | 10 | ||||||||||
Treals, вот код, который я не пробовал, он пытается распарсить по трем параметрам и по идее должен при 3 неудачных попытках перейти на следующую страницу.
2
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
|
27.07.2011, 10:30 [ТС] | 11 |
Все работает как швейцарские часы ))... Идет проверка по трем параметрам... Если значение не найденно то переходит к другой стр... Спасибо что помог... Только меня интерисует еще один момент... Как мне программно изменить в текстбуксе (или же в .txt файле) нужные мне символы, а не нужные удалить?
0
|
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
||||||
27.07.2011, 11:14 | 12 | |||||
Попробуй так:
0
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
||||||
27.07.2011, 11:47 [ТС] | 13 | |||||
Способ устраивает... Но тут у меня проблема возникла... Что если у меня текст допустим
"Какое""бы слово удал"ить"" Вариант такой
0
|
195 / 187 / 15
Регистрация: 09.02.2011
Сообщений: 457
|
||||||||||||
27.07.2011, 16:59 | 15 | |||||||||||
Кстати там не XML а JSON готовые парсеры есть в сети, google в помощь...
Советую в StreamReader кодировку брать из Response
Добавлено через 51 минуту Раскаиваюсь )) http://json.codeplex.com/
0
|
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
|
||||||
27.07.2011, 18:23 | 16 | |||||
почему не кто так не юзает?
2
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
||||||
28.07.2011, 11:01 [ТС] | 18 | |||||
У меня вопрос... Что если в тексте одинаковые символы... Но мне надо по разному их изменить... Допустим если "аабб" мне надо первую "а" поменять на "ю" вторую "а" оставить без изменения и вторую "б" поменять на "т" допустим... То есть конечный вид должен быть такой "юабт"... Как это реализовать?
Добавлено через 1 минуту вариант типа
0
|
30 / 30 / 3
Регистрация: 25.05.2011
Сообщений: 308
|
|
28.07.2011, 11:59 [ТС] | 20 |
как в таком виде
<spawn npcid= 203558> X= 1674.391 Y= 1900.035 Y= 258 </spawn> поменять второй Y на Z... Тот вариант который ты предлогал в таком случае не подходит... Или мб я что то не так делаю... Добавлено через 2 минуты И цифры должны быть в ковычках... Изначальное число не известно т.е вид должен быть такой <spawn npcid= 203558> X= "не известное число" Y= "не известное число" Z= "не известное число" </spawn> где "не известное число" определяется в спарсеном коде Добавлено через 50 секунд Хотя ковычки не так важны... Главное Y поменять на Z
0
|
28.07.2011, 11:59 | |
28.07.2011, 11:59 | |
Помогаю со студенческими работами здесь
20
Парсер данных сайта Парсер данных с сайта Парсер данных с сайта Парсер ajax данных с сайта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |