URL ni avtomatik topish
Agar biz URL’larni avtomatik ravishda topmoqchi bo‘lsak, saytdagi HTML tarkibini skanerlash va undagi barcha havolalarni ajratib olishimiz kerak bo‘ladi. Buning uchun Python’da requests
kutubxonasi orqali saytga so‘rov yuborish va BeautifulSoup
kutubxonasi yordamida HTML tarkibini tahlil qilish mumkin.
Quyida URL’larni avtomatik ravishda sayt ichidagi barcha havolalarni topish va ularni tahlil qilish bo‘yicha loyiha misoli keltirilgan.
1 Zarur Kutubxonalarni O‘rnatish
Birinchi navbatda, requests
va BeautifulSoup
kutubxonalarini o‘rnatamiz:
URL’larni Topish, Tahlil Qilish va Filtrlash Loyiha Kodu
Bu kodning asosiy vazifasi:
Saytga so‘rov yuborib HTML tarkibini olish.
HTML ichidagi barcha havolalarni (
<a href="...">
) topish.Har bir topilgan URL’ni tahlil qilish va kerakli qismlarni ajratib olish.
To‘liq Kod
Kod Tushuntirishi
fetch_html
funksiyasi:Berilgan
base_url
orqali HTML ma'lumotni yuklaydi.requests.get(url)
yordamida saytga so‘rov yuboradi.Agar xatolik yuz bersa,
RequestException
orqali xato haqida xabar chiqaradi.
find_all_urls
funksiyasi:BeautifulSoup
yordamida HTML tarkibini tahlil qiladi.Sahifadagi barcha
<a href="...">
teglarini topadi.Har bir
href
qiymatini to‘liq URL'ga aylantirish uchunurljoin
funksiyasidan foydalanadi.Takrorlanmas URL'larni saqlash uchun
set()
to‘plamiga qo‘shadi va natijani qaytaradi.
parse_url
funksiyasi:urlparse
yordamida har bir URL'ni tarkibiy qismlarga ajratadi:Protokol (masalan,
http
yokihttps
)Domen (masalan,
example.com
)Yo‘l (masalan,
/about
)Parametrlar (masalan,
?id=123
)Fragment (masalan,
#section1
)
filter_urls
funksiyasi:URL'larni berilgan
keyword
bilan filtrlash uchun ishlatiladi.urls
ro‘yxatidankeyword
qiymatini o‘z ichiga olgan URL'larnifiltered_urls
ro‘yxatiga ajratib, natijani qaytaradi.
main
funksiyasi:Asosiy funksiya bo‘lib, barcha yordamchi funksiyalarni ketma-ket chaqiradi.
Dasturda HTML ma’lumotlarni yuklaydi, URL'larni topadi va ularni tahlil qiladi.
Tahlildan so‘ng URL’larni filtrlaydi.
Ishga Tushirish:
Ushbu loyiha quyidagi amallarni bajaradi:
Saytning HTML tarkibini yuklaydi va barcha havolalarni (
<a href="...">
) topadi.Topilgan barcha URL’larni to‘liq URL’ga aylantiradi.
Har bir URL'ni protokol, domen, yo‘l, parametr va fragment bo‘yicha tahlil qiladi.
URL’larni berilgan kalit so‘z bo‘yicha filtrlab, faqat kerakli URL’larni ajratib oladi.
Natija
Bu dastur ishga tushirilgandan so‘ng, veb-sahifadagi barcha havolalarni topadi va ularni tahlil qiladi. Masalan, sayt ichidagi URL lar to‘liq ko‘rinishda chiqariladi va example
kalit so‘zi mavjud URL'lar filtrlanadi.
Bunday dastur yordamida URL’larni topish, ularni qayta ishlash va analiz qilish amaliyotlarini osonlashtirish mumkin.
Last updated