PHP parsovanie

HackForum

PHP parsovanie#
ako by sa mohol parsovat odkaz? (nie na serveri ale cez prikazovy riadok...) (snazim sa spravit bota :/)
respektive clea otazka znie...
vyparsovat odkaz
<a href="[link]">example</a>

ide o to ze by som chcel stiahnut cely zdrojak stranky vyparsovat odkazy a skusat php a javascript injekciu...(skor to php...)
potom triedit ci vznikla chyba alebo sa injektovany kod spravil...
ale podstata tohto vlakna je ako parsovat odkaz...
respektive ako povedat php daj mi do premenneej text medzi uvodzovkami.

(odpovědět)
PHP parsovanie | 142.32.208.231/142.26.22.*1.11.2007 17:24
re: PHP parsovanie#
Zrovna včera jsem si napsal jednoduchý parser v Pythonu. Jestli chceš, můžeš mě kontaktovat na ICQ a já ti pošlu zdroják, nebo ti hodím exe.

ps: samozřejmě, pokud ti jde jenom o <a>, musel bych to ještě trochu upravit..
(odpovědět)
Bystroushaak | E-mail | Website | PGP1.11.2007 17:50
re: PHP parsovanie#
v Pythonu je tuším speciální knihovna, která velmi usnadňuje stahování stránek přes http a funkce na práci s němi

----------
Get enlightened!
(odpovědět)
mr.Crow | E-mail | Website1.11.2007 18:54
re: PHP parsovanie#
mr.Crow: Tušíš správně. Ke stahování se dá použít buď urllib, nebo httplib. Pro parsovani je tam modul HTMLParser a BeautifulSoup.
Ja jsem si to ale chtel napsat sam :D Jedna for smycka a 24 radku kodu resi muj problem presne tak jak potrebuju a jeste mam radost ze jsem na to prisel sam :D
(odpovědět)
Bystroushaak | E-mail | Website | PGP1.11.2007 19:15
re: PHP parsovanie#
Tady je muj univerzální webcrawler: [link]

Nez zacnes, mel bys vedet, co je php-cli: [link] [link]

Pokud aspon trochu znas bash-skripty, nebo aspon bataky, umis v php pracovat se STDINem a STDOUTem, tak si budes moct i psat plug-iny v podobe filtru do kterejch presmerujes vystup crawleru pomoci pipy.

Ja psal pluginy na parsovani mailu, hledani moznejch RFI zranitelnosti a k jednomu z mnoha predchozich verzi dodatecnej URL parser.

prejmenuj ho na .php
pustis ho:
./crawler.php

kdyz si napises plugin/filtr, tak ho pustis takhle:
./crawler.php | ./plugin.php

Bohuzel ma par bugu, za ktere muze php: [link]
Budu casem dopisovat wrapper, ktery ten bug opravi.

BTW Srdce celyho zdrojaku je tenhle preg:
'(http:\/\/[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}
\/{1}
[-_~&=\ ?\.a-z0-9\/]*)'

----------
Harvie's blog: [link] g33k-shop: [link] fs: [link]
Registered GNU/LINUX user #468114 [link]

(odpovědět)
Harvie | E-mail | Website | ICQ 2837829781.11.2007 19:18
re: PHP parsovanie#
Uz sem to predelal.
Tak ze kdyz si stahnes curl (ne knihovnu ale program), tak mas plne funkcni web crawler / spider / bot, nebo jak tomu řikáš.

----------
Harvie's blog: [link] g33k-shop: [link] fs: [link]
Registered GNU/LINUX user #468114 [link]

(odpovědět)
Harvie | E-mail | Website | ICQ 2837829781.11.2007 22:27
re: PHP parsovanie#
A dalsi dulezitou veci je taky dobrej blacklist ;D

$eregi_url_blacklist = array(
'(W3\.org|W3C)', //Hell knows...
'(shop|xxx|porn|lesbian|hot)', //Commercial sites
'(google|209.85.135.104|amazon.com|youtube.
com)', //Big sites
'(seznam.cz|centrum.cz|atlas.cz|zoznam.sk|q
uick.cz)', //Big local sites
'.\.(css|ico|gif|jpg|png|bmp|cgi|js|vbs)', //Misc. webpage content
'.\.(avi|mpg|mpeg|mov|wmv|wm|mp3|ogg|wma)', //Multimedia files
'.\.(pdf|swf|flv|cfm)', //Other text files
'.\.(exe|zip|rar|gz|bz|bz2|tar)' //Big and binary files
);

----------
Harvie's blog: [link] g33k-shop: [link] fs: [link]
Registered GNU/LINUX user #468114 [link]

(odpovědět)
Harvie | E-mail | Website | ICQ 2837829781.11.2007 19:20
re: PHP parsovanie#
Harvie presne od teba som cakal rady :P

diks...
(odpovědět)
ph | 207.81.106.*1.11.2007 23:43
re: PHP parsovanie#
este mi povedz ako si prisiel kurva na tento riadok :D
preg_match_all('(http:\/\/[_a-zA-Z0-9\.\-]+
\.[a-zA-Z]{2,4}\/{1}
[-_~&=\ ?\.a-z0-9\/]*)',htmlspecialchars_decode($pa
ge), $new_urls);
(odpovědět)
ph | 207.81.106.*1.11.2007 23:46
re: PHP parsovanie#
potom pouzivam backompile na "prikazovu riadku"
mam v jednej zlozke [script.exe, script.php] a len upravujem script.php a nemusim kompilovat 2 krat... len zmenim... a mam
urcite to znas a nepouzivas to lebo to nesplnuje tvoje poziadavky alebo co....
(odpovědět)
ph | 207.81.106.*1.11.2007 23:49

Zpět
 
 
 

 
BBCode