[/b/] [/d/] [/tu/] [/a/] [/34/] [/ph/] [/wa/] [/cg/] [/t/]

[Burichan] [Futaba] [Gurochan] [Photon] - [Home] [Manage] [Archive]

[Return]
Posting mode: Reply
Leave these fields empty (spam trap):
Name
Link
Subject
Comment
File
Verification
Password (for post and file deletion)
  • Supported file types are: GIF, JPG, PNG
  • Maximum file size allowed is 10240 KB.
  • Images greater than 200x200 pixels will be thumbnailed.

File: 1304650244835.png -(1069435 B, 1200x847) Thumbnail displayed, click image for full size.
1069435 No.2099  

Зой, а ты можешь запилить веб-сервис, который сможет отдавать треда и посты не по хттп, а по xml?
Лично я бы это использовал чтобы няшного вишмастера для Этой борды. Давай сделаем подарок посетителям.

>> No.2100  
>чтобы няшного

ФИКС: для няшного

>> No.2101  
File: 1304666978346.jpg -(318914 B, 600x800) Thumbnail displayed, click image for full size.
318914

>>2099
Как будто бы трудно распарсить вакабу. Сделай по-грязному на регекспах хоть что-нибудь, тогда уже проси мод-куна.

>> No.2102  

>>2101
Это костыли. Я начал парсить вакабу, но, блеять, xml упростит часть программы по выкачки постов в разы. И к тому же, xml не будет требовать каждый раз выгружать весь тред. достаточно подгрузить несколько новых постов.

>> No.2103  

>>2099
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
же

>> No.2104  
File: 1304676212768.jpg -(164069 B, 902x750) Thumbnail displayed, click image for full size.
164069

>>2102

> выгружать весь тред

А вдруг в нём посты поудаляли? К тому же, по трафику это ничто по сравнению в загрузкой одной картинки.

>Я начал парсить вакабу

Кстати чем? Я бы посоветовал на первое время тупо регулярками пройтись в поисках постов - одна для поиска начала поста, вторая для конца. Всё, что между, всё твоё. О производительности пока не думай, если у тебя получится что-нибудь годное, можно будет подумать и об api к новерю, с xml-запросами конкретного поста.

>> No.2105  

Нашел следующее:
http://search.cpan.org/~jfearn/HTML-Tree-4.2/lib/HTML/Tree.pm
http://annocpan.org/~GAAS/HTML-Parser-3.65/lib/HTML/TokeParser.pm
http://annocpan.org/~GAAS/HTML-Parser-3.68/Parser.pm
Склоняюсь к первому. Используя его, при помощи еще одного модуля, перевожу xml в hash структуру, данные которого и будут использоваться для выкачки превью и вывода всего на форму.

>> No.2106  

>>2105
Алсо, может тут есть знающие perl regexp? реально ли одним сложным и длинным регекспом $very_long_regexp, распарсить все сообщения? тред будет вида:
while($page =~ /$very_long_regexp/g) {
my ($post_id, $datetime, <...и т.д...>) = @_;
<... тут что-то делаем>
push @posts, \%new_post;
}
У меня тут выбор: самому парсить, своим регекспом, или испульзовать готовые модули парсеры как тут: >>2105

>>2104

>А вдруг в нём посты поудаляли?

Информацию об этом можно прикреплять к xml в виде служебного тега.

>>2103
Что это дает?

>> No.2107  

>>2106
XHTML sort of XML

>> No.2108  
File: 1304709682208.jpg -(74439 B, 689x649) Thumbnail displayed, click image for full size.
74439

>>2107

>XHTML sort of XML

ты в этом уверен, няша?

>> No.2109  
File: 1304714263649.jpg -(167045 B, 740x652) Thumbnail displayed, click image for full size.
167045

>>2106
Реально, но негуманно. Вообще можно даже с регекспами не заморачиваться, просто строчки искать

Ищешь

d=\"reply

Читаешь число за ним - это номер поста.

Ищешь

e">

Читаешь до ближайшего

<

Это имя постера.

Ищешь

>

читаешь до ближайшего

<

Это дата

Ищешь

<blockquote>

Запоминаешь позицию, ищешь

</blockquote>

Всё, что между - пост.

Заворачиваешь в цикл и радуешься.

Теперь справишься, или потратить 10 минут и написать за тебя?

>> No.2110  

Только на этом треде не испытывай, а то этот >>2109 пост тебе всё поломает, лол.

>> No.2111  

>>2110
А что, не знаешь, что служебные знаки типа <, >, &, и т. п., в хтмл заменяется специальными кодами. И ничего страшного от этого треда не будет.

>> No.2112  

>>2109
Два чаю этому господину. Побежал писать

>> No.2113  

>>2108
Да.

>> No.2114  

>>2113
Ок. А значит ли это, что очень легко сделать из хhtml xml?

>> No.2115  

#!/usr/bin/perl
#ПОСАНЫ, Я СДЕЛАЛ ЭТО! ПРОШУ ПОМОЩИ В ТЕСТИРОВАНИИ.

use warnings;
use threads;

my $page = `cat page.html`;

while($page =~ /name="delete" value="(\d+)"/gc) {

my $id = $1;
$page =~ /postername">(?:<a href="mailto:([^"]+)">)?([^<]+)</gc;
my ($mail, $name) = ($1, $2);
$page =~ />([^<]+)</gc;
my $datetime = $1;
$page =~ /(?:<a target="_blank" href="\/d\/src\/(\d+\.\w+).*?)?<blockquote>(.*?)<\/blockquote>\s+(?:<\/td>|<table>)/gc;
my ($image, $message) = ($1, $2);

print "ID = $id\n";
print "Name = $name\n";
print "Mail = $mail\n" if defined $mail;
print "Datetime = $datetime\n";
print "Image = $image\n" if defined $image;
print "-------------Message---------------\n";
print "$message\n";
print "###################################\n";

}

>> No.2116  

>>2115

>use threads;

ох щи.
use strict;

>> No.2117  

>>2114
Сколько можно повторять что xhtml это подвид xml? Тоесть для того чтобы сделать из xhtml xml тебе ничего не нужно делать.

>> No.2118  

>>2099
пусть лучше звёздочки запилит. модкун, блджад!

>> No.2119  

>>2118
Нет.

>> No.2120  
File: 1304775233149.png -(10434 B, 300x300) Thumbnail displayed, click image for full size.
10434

>>2119
модкун!

>> No.2121  

>>2120
Ни в коем случае, обязательно.

>> No.2122  

>>2115
Всем похуй же

>> No.2123  

Встроенный рсс было бы хорошо, не нужно было бы качать и парсить страницы. Хотя, новерь достаточно медленный и, я ни разу не видел необходимости подписываться на треды, не уверен даже, работает мой chan2rss или нужно модифицировать.

>> No.2124  

>>2123
Так неинтересно. А как же убивать время вяло перелистывая новерь?

>> No.2125  

>>2124
Рсс хороши в б ычана, например, когда хочешь следить за интересным тредом, но не посещаешь раздел. Закладки для этого неудобны, держать открытую вкладку тоже неудобоно, тред обновляется редко, а браузер тормозит от них, особенно, если там много постов. Как я уже сказал, на новере треды не успевают уплывать на 80 страницу за две недели, поэтому смысла особого нет.



Delete Post []
Password

[/b/] [/d/] [/tu/] [/a/] [/34/] [/ph/] [/wa/] [/cg/] [/t/]