Files
2026-10-28 14:35:02 +08:00

58 lines
2.6 KiB
Markdown

[English](Hacker-News) · [Dansk](Hacker-News-da) · **Bahasa Melayu**
# Mengikis Hacker News
Kuliah: *Mengikis laman web langsung*. Kodnya ialah `hacker_news.py` (penghuraian) dan `http_client.py` (satu `requests.get` dengan had masa dan `User-Agent`). Arahan membaca salinan statik halaman daripada kursus; `--source live` membaca laman sebenar dan `--source fixture` membaca salinan tersimpan tanpa rangkaian.
## Langkah 1: lihat halaman
Halaman menyenaraikan berita dengan tajuk, pautan dan skor.
![Langkah 1: halaman](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/045-scrape-movies/raw/branch/main/docs/images/hn-1-page.png)
**Apa yang kita pelajari:** data langsung lebih kaya daripada fail tempatan, tetapi boleh berubah, jadi kita juga menyimpan salinan untuk ujian.
## Langkah 2: periksa markup
Alat pembangun pelayar menunjukkan tag: baris `tr.athing`, pautan tajuk `.titleline > a` dan `span.score` pada baris seterusnya.
![Langkah 2: markup](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/045-scrape-movies/raw/branch/main/docs/images/hn-2-markup.png)
**Apa yang kita pelajari:** kita menemui tag yang betul dengan memeriksa halaman sebelum menulis kod.
## Langkah 3: tajuk
`find_all` pada pautan tajuk dan `get_text()`.
![Langkah 3: tajuk](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/045-scrape-movies/raw/branch/main/docs/images/hn-3-titles.png)
**Apa yang kita pelajari:** list comprehension menukar banyak tag menjadi senarai rentetan biasa.
## Langkah 4: pautan
`get("href")` pada anchor yang sama.
![Langkah 4: pautan](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/045-scrape-movies/raw/branch/main/docs/images/hn-4-links.png)
**Apa yang kita pelajari:** elemen yang sama memberi teks dan nilai atribut.
## Langkah 5: undian
Teks `38 points` dipecahkan dan ditukar dengan `int()`.
![Langkah 5: undian](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/045-scrape-movies/raw/branch/main/docs/images/hn-5-upvotes.png)
**Apa yang kita pelajari:** teks yang dikikis mesti ditukar kepada nombor sebelum boleh dibandingkan.
## Langkah 6: berita teratas
`max` pada undian mencari artikel paling popular.
![Langkah 6: berita teratas](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/045-scrape-movies/raw/branch/main/docs/images/hn-6-top.png)
**Apa yang kita pelajari:** apabila data sudah bersih, Python biasa menjawab soalan tentangnya.
## Apa yang kita pelajari
Kita boleh mengambil halaman dengan Requests, menemui baris, membaca tajuk, pautan dan skor, menukarnya kepada jenis yang berguna dan menjawab soalan tentang data.