Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 585936|Yanıt: 70

[Konsol Programı] .net/c# Web tarayıcı optimizasyonuna giden yol

  [Bağlantıyı kopyala]
Yayınlandı 19.04.2018 14:21:02 | | | |
0x00

Web tarayıcısı (web örümceği, web bot olarak da bilinir, FOAF topluluğunda daha yaygın olarak web kovalayıcı olarak adlandırılır) belirli kurallara göre Dünya Çapında Web hakkında bilgileri otomatik olarak karayan bir program veya betiktir. Daha az kullanılan diğer isimler arasında karıncalar, otomatik indeksler, simülatörler veya solucanlar bulunur.

0x01

Basitçe söylemek gerekirse, tarayıcılar kendi kurallarına göre veri toplar, yakalanan verileri analiz eder ve ardından kendileri için faydalı veriler elde ederler.

0x02

Web tarayıcısı optimizasyonu iki aşamaya ayrılabilir:

1: Veri kazırken optimize edin;

2: Kavrama sonuçlarının işlenmesini optimize etmek;

Bugün sadece kazıma sürecindeki optimizasyondan bahsediyoruz!

0x03

Tarama sürecindeki optimizasyonla ilgili birkaç noktayı özetledim:

1: Fiziksel adres üzerinde optimize edilebilir, örneğin: hedef kaynak sunucusu Şanghay'daki Tencent Cloud sunucusu, aynı bölgedeki sunucuyu seçmeye çalışıyoruz, yani Şanghay bölgesindeki sunucuyu seçmeye çalışıyoruz, Pekin, Qingdao ve diğer bölgelerdeki sunucuyu seçmeyeceğiz, aynı IDC bilgisayar odasında da sunucuyu seçmeye çalışıyoruz, bu kaynak web sitesinin Tencent Cloud sunucusu olduğunu biliyoruz, tarayıcıyı Alibaba Cloud sunucusuna değil, Tencent Cloud sunucusuna koymaya çalışıyoruz!

2: Stabil ve hızlı bir ağ seçin, genellikle tarayıcılar ağ kalitesi için yüksek gereksinimlere sahiptir, ev ağını kullanmamaya çalışın, şirket ağını seçin veya veri yakalamak için bir sunucu satın alın.

3: Daha verimli bir tarayıcı dili seçin, Python'un tarayıcılarda daha iyi olduğunu duydum ama kullanmadım, bugün daha sonra test edeceğim, çoğunlukla .net dilinde açıklıyorum.

0x04

Acele satın alma gibi şeyler için, yakalama hızı gereksinimleri yüksek, zaman meselesi olarak tanımlanabilir, veriyi erken almak, yakalama şansını artırmak daha da var, aşağıda konsolla bir demo yazdım, aşağıdaki şekilde gösterildiği gibi, bu web sitesinin verilerini yakalama testi:


(Süre ne kadar kısa, o kadar hızlıdır)

Yukarıdaki veri sıralaması:1: Yerel olarak optimize edilmiş kod, 2: Yerel kod, 3: Üçüncü parti eklenti dll'ler (paketler)

0x05

Üçüncü parti eklentiler (paketler) neden en uzun süreyi alıyor? Üçüncü taraf eklentileri aslında çok sayıda yerel kodun kapsüllenmesi, çok sayıda mantıksal yargı ve nispeten çok yönlüdür; bu da yavaş tarama hızına yol açabilir.

İşte yerel kod:



Yerel kod sadece birkaç satır yukarıda.Ortalama süre hâlâ 184 milisaniyedir,Kod ne kadar basitse, optimize etmek o kadar zor olurYukarıdaki kodun ortalama 99 milisaniye süreye ulaşacak şekilde nasıl optimize edilebileceğini düşünüyor musunuz?Hız farkı iki katına çıktı!

0x06

Hedef kaynak sunucusu gzip sıkıştırmasını destekliyorsa, web sitesine eriştiğimizde ve tarayıcı web sitesini talep ettiğinde, istek başlığı aşağıdaki parametrelere sahip olacaktır:

Yanıt Başlığı Parametreleri:






"Kabul Kodlama"ya Giriş: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding

Sade bir dilde:

Müşteri şöyle diyor:"gzip, deflate, sdch, br" sıkıştırma algoritmasını destekliyorum, veri döndürerken istediğiniz her şeyi kullanabilirsiniz.

Sunucu şöyle dedi:Gzip sıkıştırma algoritmasını destekliyorum, bu yüzden verileri size sıkıştırmak için gzip algoritmasını kullanacağım

Müşteri şöyle diyor:Tamam, o zaman alınan verileri gzip algoritmasıyla çözeceğim

GZIP algoritması, iletilen veriyi sıkıştırıp iletilen içeriği büyük ölçüde azaltabilen, böylece istek verimliliği artırılır ve optimize edilmiş kod şu şekildedir:


Küçük bir detay olsa da, verimliliğin iki katına çıktığı söylenebilir! Bu, iki günde topladığınız verilere eşdeğer ve şimdi 1 günde toplanabiliyor; bu makale tarama öğrenen arkadaşlara adanmıştır.

Not: gzip sıkıştırma algoritmasının programlama dili ile hiçbir ilgisi yoktur!

Son olarak, kaynak kodunu ekleyin:

Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfenYanıt

Puan

Katılımcı sayısı2MB+1 Katkı+2 Çökmek sebep
conntfs + 1 Çok güçlü!
Öğrenmeyi seven küçük bir acemi + 1 + 1 Sahibin iyi bir gönderi paylaşmasını destekleyin, ben de iyi bir gönderi paylaşacağım!.

Tüm puanları gör





Önceki:Uluslararası uygulama yeni gelen raporları çıkıyor
Önümüzdeki:.net/c# Next-Generation CAPTCHA Recognition System 2.3 Tutorial
Yayınlandı 31.12.2019 10:48:25 |
Xiaobai zarar göremezdi. Büyük veri toplamanın tek tıklama ile toplanması gibi bir yazılım var mı?
Yayınlandı 10.06.2019 14:11:09 |
Xiaobai zarar göremezdi. Büyük veri toplamanın tek tıklama ile toplanması gibi bir yazılım var mı?
Yayınlandı 15.10.2019 10:29:57 |
GANJUETINGHAOWANDE KANN
Yayınlandı 20.04.2018 12:35:21 |
Paylaştığınız için teşekkürler
Yayınlandı 25.04.2018 11:33:55 |
Koleksiyon, belki faydalı.
Yayınlandı 17.05.2018 18:02:21 |
Web Tarayıcısı Optimizasyon Koleksiyonuna Giden Yol
Yayınlandı 18.05.2018 16:10:57 |
Ooooooooo
Yayınlandı 18.07.2018 14:43:07 |
Çalışıp yaramadığını gör
Yayınlandı 20.07.2018 10:09:50 |
DADASDSADSAD
Yayınlandı 13.08.2018 13:06:50 |
Bu kaynak koduna göz atın
Yayınlandı 20.08.2018 14:00:52 |

Paylaştığın için teşekkürler
Yayınlandı 30.08.2018 11:42:26 |
srkskrskrskrskrskrskr
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com