|
yahoo bot
|
| Author |
Message |
likaru
Membru
 
Posts: 20
Group: Registered
Joined: Feb 2010
Status:
Offline
Reputation: 0
Lei: 46.84
|
yahoo bot
cum poti face un yahoo bot?
practic sa iti raspunda la comenzi si chestii din astia
|
|
| 02-08-2010 06:21 PM |
|
 |
flipper
Designer experimentat
      
Posts: 503
Group: Registered
Joined: Nov 2009
Status:
Offline
Reputation: 9
Lei: 1252.47
|
|
| 02-08-2010 06:26 PM |
|
 |
casperel
Stie-tot
         
Posts: 1,459
Group: Registered
Joined: Oct 2007
Status:
Away
Reputation: 18
Lei: 2635.34
|
RE: yahoo bot
Intreaba utilizatorul @Rila. A pus la vanzare un asemenea bot si poate te va ajuta.
|
|
| 02-08-2010 08:07 PM |
|
 |
likaru
Membru
 
Posts: 20
Group: Registered
Joined: Feb 2010
Status:
Offline
Reputation: 0
Lei: 46.84
|
RE: yahoo bot
Nu cred ca m-ar ajuta dar o sa il intreb
|
|
| 02-08-2010 08:08 PM |
|
 |
flipper
Designer experimentat
      
Posts: 503
Group: Registered
Joined: Nov 2009
Status:
Offline
Reputation: 9
Lei: 1252.47
|
|
| 02-09-2010 04:03 AM |
|
 |
AccesInterzis
Designer
     
Posts: 368
Group: Registered
Joined: Jul 2008
Status:
Offline
Reputation: 4
Lei: 2216.67
|
RE: yahoo bot
cum poti face un yahoo bot?
practic sa iti raspunda la comenzi si chestii din astia
Ideea de baza e folosirea functiei PHP file_get_contents() care primeste ca parametru URL-ul paginii web pe care vrei sa o crawlezi. Functia returneaza tot codul-sursa al paginii web din care tu poti extrage ce iti bese tie mintea: URL-uri, adrese de email, textul de pe pagina etc..
Facusem si eu un bot asemanator. Uite aici o particica din el. Il rulam pe EasyPHP fiindca serverul meu de hosting a restrictionat folosirea functiei. Prima oara ii dadeam botului un URL de pe care sa extraga URL-uri si sa le bage intr-o baza de date. Apoi lua fiecare URL din baza de date, crawla paginile web cu URL-ul respectiv si extragea URL-urile din codul sursa. In acest fel cream o baza de date cu URL-uri. Al doilea pas era sa crawlez iarasi URL-urile si sa extrag de pe acele pagini web ce ma interesa.
Problema era ca in baza de date se adunase cateva zeci de mii de URL-uri (in jur de 70-80 de mii) si botul meu nu putea sa crawleze toate acele URL-uri dintr-o singura executie a scriptului PHP. Plus ca unele pagini web nu permit sa fie citite si astfel mai apareau si erori.
Pan` la urma am lasat proiectul in aer fiindca am realizat ca nu poti rula astfel de boti pe EasyPHP si EasyPHP nu poate lucra cu mii si mii de intrari in baza de date. Cred ca cea mai buna solutie e sa iti creezi un executabil in C/C++ sau ce limbaj de programare vrei tu care sa ruleze direct pe procesor.
Eu, de exemplu, dupa ce imi adunam URL-urile in bd rulam acest while:
while ($row = mysql_fetch_array($result)) {
//getting the source-code of the page if the web page alllows my script to read it
if(file_get_contents($row['url']) == TRUE) {
//algoritm de extragere a ce vrei tu de pe pagina web, de exemplu adrese de email sau URL-uri
}
}
Acest while trebuia sa fie executat in mai putin de 30 de secunde fiindca altfel dadea eroare EasyPHP. Cum nu se putea ca in 30 de secunde scriptul meu PHP sa crawleze mii si mii de pagini web a trebuit sa gasesc o metoda (de care nu prea eram multumit) de a crawla cate o serie de 5 URL-uri. Oricum se misca greu. Ar fi mult mai usor sa creezi o aplicatie in C/C++ care sa faca acelasi lucru (sa extraga URL-uri si sa le bage in bd si apoi sa le ia pe fiecare in parte si sa sape in codul-sursa dupa ceva) fiindca ar rula direct pe PC. Nu ar mai depinde de un server.
Oricum, citeste despre file_get_contents(). Cred ca toti botii de crawling scrisi in PHP au la baza aceasta functie.
How do I grab email addresses of a web page?
|
|
| 02-09-2010 05:25 AM |
|
 |
casperel
Stie-tot
         
Posts: 1,459
Group: Registered
Joined: Oct 2007
Status:
Away
Reputation: 18
Lei: 2635.34
|
RE: yahoo bot
@AccesInterzis: ai auzit de set_time_limit si de rularea din consola a scripturilor PHP ? Ma indoiesc...
Si inca o chestie.. nu toti crawlerii au la baza file_get_contents, ci mai sunt si alte metode de preluat codul sursa al paginii (de curl, ai auzit ?).
PS: ce legatura are ce vorbim noi cu ce are nevoie baiatul asta ?! Niciuna, pentru moment!
|
|
| 02-09-2010 06:02 AM |
|
 |
AccesInterzis
Designer
     
Posts: 368
Group: Registered
Joined: Jul 2008
Status:
Offline
Reputation: 4
Lei: 2216.67
|
RE: yahoo bot
PS: ce legatura are ce vorbim noi cu ce are nevoie baiatul asta ?! Niciuna, pentru moment!
Baiatul a intrebat: "cum poti face un yahoo bot?". Banuiesc ca se refera la botul de crawling al motorului de cautare Yahoo. Eu nu am facut in postul meu decat sa ii prezint principiul de baza al unui crawler. Cel putin cam cum s-ar putea scrie un crawler in PHP. Cum poti zice "ce legatura are ce vorbim noi cu ce are nevoie baiatul asta ?! Niciuna, pentru moment!"?
How do I grab email addresses of a web page?
|
|
| 02-09-2010 06:54 AM |
|
 |
casperel
Stie-tot
         
Posts: 1,459
Group: Registered
Joined: Oct 2007
Status:
Away
Reputation: 18
Lei: 2635.34
|
RE: yahoo bot
El se refera la bot de yahoo precum acesta!
|
|
| 02-09-2010 07:01 AM |
|
 |
likaru
Membru
 
Posts: 20
Group: Registered
Joined: Feb 2010
Status:
Offline
Reputation: 0
Lei: 46.84
|
|
| 02-09-2010 05:47 PM |
|
 |
|
|