English
Open in Telegram

Thread 🟢 Selectolax. Парсинг HTML. Підсумки та рекомендації.

2 messages · –
P
🟢 Selectolax. Парсинг HTML. Підсумки та рекомендації. Для пошуку тегів ми можемо використовувати: ▪️ id тега ▪️ назву тега ▪️ клас тега ▪️ атрибути тега ❗️ У коректному HTML id завжди повинен бути унікальним, тому пошук по ньому — найнадійніший. Якщо ж шукати по назві/класу/атрибутам, результатів може бути кілька, і серед них можуть траплятися елементи, які ви не очікували знайти. У нашому прикладі, якщо ми хочемо тільки фрукти й напишемо: item_els = parser.css("li.item") То отримаємо не лише фрукти, а й овочі — це видно одразу у нашому простому HTML-коду. Реальні html-сторінки по розміру значно більші і можна не помітити десь ще на сторінці використовуються схожі теги але у зовсім іншому контексті, як наслідок — незрозумілі помилки у коді. 👉 Тому рекомендую завжди звужувати пошук: спершу знайдіть найближчий батьківський елемент із логічним id, класом чи атрибутом, а вже потім отримуйте потрібні дочірні теги. 👉 Важливо, щоб назви класів, id чи атрибутів, до яких ви прив’язуєтеся, були логічними та «говорили самі за себе». Так менша ймовірність отримати помилкові результати, а код буде легше читати й підтримувати. 👉 Є певна термінологія в HTML: тег зазвичай називають елементом (DOM element) або нодою (Node). Я відповідно додаю суфікс _el або _els до змінних, які містять об’єкти тегів. Це не принципово, але, на мою думку, так код читається краще й спрощується іменування змінних. #selectolax #parsing #scraping
👍1
263 ·
  1. P
    Python Materials For Beginners Chat
    Photo
    click to show
    Очевидно що при пошуку найкраще прив'язуватись до id="activity-feed" бо по-перше це id по-друге це назва доволі логіна і зрозуміла. Жовтим на малюнку позначені теж зрозумілі назви, але то класи або атрибути. Те до чого не варто прив'язуватись позначено червоним.
PPython Materials For Beginners ChatPython Materials For Beginners Chat@python_code_ua · group · Tech
16members3writing in 30 days
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count