Mam stronę z forum w języku angielskim napisaną w Perlu, która jest nieustannie bombardowana spamem po rosyjsku. Czy istnieje sposób użycia Perla i wyrażenia regularnego do wykrycia rosyjskiego tekstu, więc mogę go zablokować?Jak wykrywać rosyjskie posty ze spamem w Perlu?
Odpowiedz
można użyć następujących wykryć Cyrillic znaków (używane w języku rosyjskim):
[\u0400-\u04FF]+
Jeśli naprawdę chcesz rosyjskich znaków, można zapoznać się z wyżej wymienionym dokumencie, który zawiera dokładny zakres używany dla podstawowego alfabetu rosyjskiego, który jest [\u0410-\u044F]
. Oczywiście należy również rozważyć rozszerzenie znaków cyrylicy, które są używane wyłącznie w języku rosyjskim - również wspomniano w dokumencie.
użycie zestawu znaków cyrylicy w Unicode zgodnie z sugestią JG jest w porządku, jeśli wszystko jest zakodowane jako takie. jest to jednak spam i w większości przypadków nie. ponadto spamerzy bardzo często używają kombinacji zestawów znaków w szparkach, co jeszcze bardziej utrudnia to podejście.
uważam, że najlepszym sposobem (lub przynajmniej wstępny etap procesu) wykrywania rosyjski spam jest do grep dla najczęściej stosowanych zestawów znaków:
koi8-r
windows-1251
iso-8859-5
Następnym krokiem po tym byłoby spróbować niektóre algorytmy wykrywania języka na tym, co pozostaje. jeśli jest to wystarczająco duży problem, użyj płatnej usługi, takiej jak google translate (która również "wykrywa") lub kserokopię. Usługi te zapewniają IMO najlepsze wykrywanie języka w pobliżu.
Rozumiem twój punkt widzenia, ale ponieważ jest to forum w języku angielskim, wykrycie, czy post zawiera znaki cyrylicy, może wystarczyć do stwierdzenia, że jest to spam. –
hmmm, ja * myślałem, że oryginalny plakat mówił o spamie e-mailowym ... jeśli tak nie jest, a spam jest wprowadzany przez samą stronę (np. Na forum), to zgadzam się z tym, powiedzenie. –
- 1. Czytanie ze zmiennej w Perlu
- 2. Surface :: setbuffersDimensions Dziennik jest spamem
- 3. Jak wykrywać śmiech w sznurku?
- 4. Jak radzisz sobie ze źle sformułowanym kodem HTML w Perlu?
- 5. Otrzymuj publiczne posty na Facebooku ze strony do tablicy php
- 6. Jak sprawić, by rosyjskie ciągi ilościowe działały prawidłowo?
- 7. Jak wykrywać środowisko w Salesforce?
- 8. Jak wykrywać zmiany w zmiennej?
- 9. Jak wykrywać zmiany w UIPickerView?
- 10. Jak chronić "publiczną" część usługi REST przed spamem?
- 11. Jak wykrywać dotyk na NSTextAttachment
- 12. W Perlu, czy istnieje sposób na powiązanie ze skrytką?
- 13. Jak wykrywać zatrzymanie myszy?
- 14. Jak wykrywać zamknięcie przeglądarki?
- 15. Jak wykrywać zatrzymanie myszy
- 16. Wordpress Display Wszystkie posty
- 17. Jak zeskrobać wszystkie posty subreddit w danym okresie czasu
- 18. Jak połączyć zmienne w Perlu?
- 19. Jak formatować daty w Perlu?
- 20. Jak tworzyć obiekty w Perlu?
- 21. Jak zatrzymać wejście w Perlu?
- 22. Jak serializować zamknięcie w Perlu?
- 23. Jak zwolnić pamięć w Perlu?
- 24. Jak mogę wstępnie przydzielić ciąg w Perlu?
- 25. pokaż tylko posty utworzone w zeszłym tygodniu
- 26. Jak zdefiniować gramatykę parsowania w Perlu 5?
- 27. Jak wykrywać domyślną wyszukiwarkę Chrome
- 28. Jak wykrywać język danego tekstu?
- 29. Jak wykrywać poziome przewijanie w jQuery?
- 30. Jak wykrywać naciśnięty klawisz w TypeScript?
Aby wykryć rosyjski, należy szukać słów, które są używane tylko w języku rosyjskim. A może chcesz przetestować cyrylicy? – Gumbo
if ($ text ~ =/vodka /) {$ language = "ru"; } – tunnuz
@Gumbo wykrycie cyrylicy jest wystarczająco dobre, ponieważ forum jest w języku angielskim. –