Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> filtr do parsera treści
thecgla
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.08.2015

Ostrzeżenie: (0%)
-----


Witam, Pracuję nad projektem parsera treści. Chciałbym by odróżniał tekst strony z artykułem od bezwartościowych tagów lub arkuszy stylu. Coś w rodzaju robota wyszukiwarkowego. Myślę nad użyciem funkcji która by liczyła wyrazy, czyli liczba liter od 1-16 spacja. I jeśli się to powtarza co najmniej 10 razy to przechodzi. Ale nie wiem jak to ugryźć.

Próbowałem ze spójnikami ale dziwnie to wychodzi, ich ilości się kumulują ze względu na krzaczki z polskich znaków w treści.

To co napisałem działa częściowo, ale chciałbym by się wyświetlały same artykuły, a filtruje to może z 10% śmieci. Czyściłem też baze danych pod względem występowania konkretnych słów. Nie wiem jak to dalej rozwinąć. I jak używać zachodnich spójników typu "if, or, and,"





  1. $polskiespojniki =array(i, oraz, lecz, albo, czy, lub, ani, czyli, dlatego, zatem, bo, natomiast, że, gdyż, ponieważ, jeśli, jeżeli, bądź);
  2. //$zachodniespojniki=array(and, or, but, if, unless, that, until, when, while, where, after, before, because, both, either, even);
  3.  
  4.  
  5.  
  6.  
  7. //funkcja liczaca dany spojnik
  8. function Policzspojniki($polskiespojniki, $string)
  9. {
  10. $licznikspojnikow=0;
  11. $iloscprzecinkow=0;
  12. foreach ($polskiespojniki as $value) {
  13. $iloscprzecinkow=0;
  14. echo $value;
  15. echo"1";
  16. $spojnik = $value;
  17. $str = $string;
  18. $a = substr_count($str, $value);
  19. //zakomentarzowane dzialanie testowe
  20.  
  21. //echo $spojnik;
  22. //echo $a;
  23. //echo "</br>";
  24. $licznikspojnikow = $licznikspojnikow + $a;
  25. }
  26. //licznik przecinkow
  27. $iloscprzecinkow = substr_count($string, ",");
  28. echo $iloscprzecinkow;
  29. // licznik spojnikow
  30. echo 'liczenie spojnikow na stronie ';
  31. echo 'suma-';
  32. echo $licznikspojnikow;
  33. if($licznikspojnikow >3 or $iloscprzecinkow >10)
  34. return true;
  35.  
  36. else
  37. return false;
  38. $iloscprzecinkow=0;
  39. $licznikspojnikow=0;
  40.  
  41.  
  42. }
  43.  
  44. if (Policzspojniki($polskiespojniki, $string))
  45. {
  46. echo 'wiecej niż 3 spojniki lub 5 przecinkow';
  47.  
  48.  
  49.  
  50. }
  51. else {
  52. echo 'mniej niż 3 spojniki lub 5 przecinkow odrzucamy';
  53. }
  54.  
  55. ?>


Ten post edytował thecgla 27.08.2015, 15:06:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thecgla
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.08.2015

Ostrzeżenie: (0%)
-----


chodzi o to by kwalifikowałą się tylko ta która zawiera określoną treść. Nie wiem w jaki sposób napisać funkcję by sprawdzała czy znajdują się konkretne zdania w treści czyli:

wyraz(1-24litery)-spacja-wyraz(1-24litery) całość n razy zakończona kropką. A pasujące do tego schematu które mają co najmniej 3 lub 4 zdania kwalifokować do dalszego filtra który wskazałem wcześniej czyli spójniki polskie i angielskie.

Nie próbowałem testować na angielskich spójnikach ale jak pracuje na netbeans to dostaje monit o niedozwolonych słowach. Jest sens drążyć temat ze spójnikami czy lepiej dać sobie spokój i napisać coś prostszego. nie jestem zaawansowanym programistą. Opieram się na przykładach z internetu.

chodzi tez o to by zachować oryginalną treść, strip_tags zmienia strukturę tekstu.

style usuwam po adresach z bazy które zawierają xml png css itp. (zostaje 10% typu style.css?ver2003 - akceptowalne)

To coś w rodzaju nakładki na wyszukiwarkę internetową rozszerzająca możliwości wyszukiwania na stronach i linkach prowadzących ze strony prezentująca dane zbiorcze. Filtruje dokładniej wyniki generowane przez wyszukiwarkę internetową.

Ten post edytował thecgla 27.08.2015, 15:55:53
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 20:51