Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 585936|Odpowiedź: 70

[Program konsolowy] .net/c# Droga do optymalizacji pod wyszukiwarkami sieciowymi

  [Skopiuj link]
Opublikowano 19.04.2018 14:21:02 | | | |
0x00

Crawler internetowy (znany również jako web spider, web bot, częściej nazywany web chaserem w społeczności FOAF) to program lub skrypt, który automatycznie zbiera informacje o World Wide Web zgodnie z określonymi zasadami. Inne, rzadziej używane nazwy to mrówki, auto-indeksy, symulatory lub robaki.

0x01

Mówiąc prosto, crawlery pobierają dane według własnych reguł, analizują zebrane dane, a następnie pozyskują dla siebie użyteczne dane.

0x02

Optymalizacja pod indeksem internetowym można podzielić na dwa etapy:

1: Optymalizacja podczas zbierania danych;

2: Optymalizacja przetwarzania wyników chwytania;

Dziś mówimy tylko o optymalizacji procesu skrobania!

0x03

Podsumowałem kilka punktów dotyczących optymalizacji w procesie indeksowania:

1: Można go zoptymalizować pod adresem fizycznym, na przykład: docelowym serwerem zasobów jest Tencent Cloud host w Szanghaju, staramy się wybrać serwer w tym samym regionie, czyli serwer w regionie Szanghaju, nie wybieramy serwera w Pekinie, Qingdao i innych regionach, ale też staramy się wybrać serwer w tym samym pokoju komputerowym IDC, wiemy, że ta strona zasobowa to serwer Tencent Cloud, staramy się umieścić crawlera na serwerze Tencent Cloud, a nie na serwerze Alibaba Cloud!

2: Wybierz stabilną i szybką sieć, zazwyczaj crawlery mają wysokie wymagania dotyczące jakości sieci, staraj się nie korzystać z sieci domowej, wybierz sieć firmową lub kup serwer do rejestrowania danych.

3: Wybierz bardziej wydajny język crawlera, słyszałem, że python jest lepszy do crawlerów, ale go nie używałem, a dziś to przetestuję, głównie wyjaśnię to w języku .net.

0x04

W przypadku takich rzeczy jak szybkie kupowanie wymagania są wysokie, można to opisać jako kwestię czasu, wczesne zdobycie danych, zwiększenie szans na zdobycie, poniżej napisano demo na konsoli, test pobierania danych z tej strony, jak pokazano na poniższym rysunku:


(Im krótszy czas, tym szybciej)

Powyższe rankingi danych:1: Kod natywnie zoptymalizowany, 2: Kod natywny, 3: wtyczki DLL firm trzecich

0x05

Dlaczego wtyczki firm trzecich (pakiety) zajmują najwięcej czasu? Wtyczki firm trzecich to w rzeczywistości duża liczba enkapsulacji natywnego kodu, duża liczba logicznych ocen i stosunkowo wszechstronne, co może prowadzić do wolnego przeszukiwania się.

Oto natywny kod:



Kod natywny jest tylko kilka linijek powyżej.Średni czas nadal wynosi 184 milisekundy,Im prostszy kod, tym trudniej go zoptymalizowaćCzy uważasz, że jak można zoptymalizować powyższy kod, aby osiągnąć średni czas 99 milisekund?Różnica prędkości jest podwojona!

0x06

Jeśli docelowy serwer zasobów obsługuje kompresję gzip, gdy wchodzimy na stronę internetową, a przeglądarka żąda jej żądania, nagłówek żądania będzie miał następujące parametry:

Parametry nagłówka odpowiedzi:






Wprowadzenie do "Accept-Encoding": https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Mówiąc prosto:

Klient mówi:Wspieram algorytm kompresji "gzip, deflate, sdch, br", możesz używać dowolnego narzędzia podczas zwracania danych.

Serwer powiedział:Wspieram algorytm kompresji gzip, więc użyję algorytmu gzip, aby skompresować dane do Ciebie

Klient mówi:Dobrze, więc odszyfruję odebrane dane za pomocą algorytmu gzip

algorytm gzip, który może kompresować przesyłane dane i znacznie zmniejszyć ilość przesyłanej zawartości, dzięki czemu efektywność żądań zostanie poprawiona, dlatego zoptymalizowany kod wygląda następująco:


Chociaż to drobny szczegół, można powiedzieć, że wydajność jest podwojona! Jest równoważny z danymi, które zebrałeś w dwa dni, a teraz można je zebrać w jeden dzień, a ten artykuł jest dedykowany przyjaciołom, którzy uczą się crawlingu.

Uwaga: Algorytm kompresji gzip nie ma nic wspólnego z językiem programowania!

Na koniec dołącz kod źródłowy:

Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź

Wynik

Liczba uczestników2MB+1 przyczynić się+2 Zapaść powód
conntfs + 1 Bardzo potężne!
Mały nowicjusz, który uwielbia się uczyć + 1 + 1 Wesprzyj właściciela w opublikowaniu dobrego posta, a ja też opublikuję dobry post!

Zobacz wszystkie oceny





Poprzedni:Pojawiają się raporty o nowych zawodnikach z praktyki międzynarodowej
Następny:.net/c# Następna generacja systemu rozpoznawania CAPTCHA 2.3
Opublikowano 31.12.2019 10:48:25 |
Xiaobai nie mógł się zranić. Czy istnieje jakieś oprogramowanie podobne do zbierania big data jednym kliknięciem?
Opublikowano 10.06.2019 14:11:09 |
Xiaobai nie mógł się zranić. Czy istnieje jakieś oprogramowanie podobne do zbierania big data jednym kliknięciem?
Opublikowano 15.10.2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Opublikowano 20.04.2018 12:35:21 |
Dziękuję za podzielenie się
Opublikowano 25.04.2018 11:33:55 |
Kolekcja, może przydatna.
Opublikowano 17.05.2018 18:02:21 |
Kolekcja Droga do optymalizacji portali przeglądających
Opublikowano 18.05.2018 16:10:57 |
oo
Opublikowano 18.07.2018 14:43:07 |
Zobacz, czy to działa
Opublikowano 20.07.2018 10:09:50 |
DADASDSADSAD
Opublikowano 13.08.2018 13:06:50 |
Sprawdź ten kod źródłowy
Opublikowano 20.08.2018 14:00:52 |

Dzięki za podzielenie się
Opublikowano 30.08.2018 11:42:26 |
srkskrskr
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com