ยินดีต้อนรับกลับ.
มาเพิ่มเลเยอร์อื่นในแอปของเรา ซึ่งก็คือการจัดเรียงรายการลิงก์ของเราจากบนลงล่าง และเราสามารถทำได้ค่อนข้างง่าย
มาฟังกัน
แทนที่จะส่งคืน Hacker News ที่เรามีอยู่ เราจะสร้างฟังก์ชันใหม่ที่เรียกว่า sort stories
โหวตและเราจะให้ Hacker News
รายการและเราจะสร้างฟังก์ชันนี้ขึ้นที่นี่
เราจะบอกว่ากำหนดประเภท
เรื่องราว
ซื้อคะแนนเสียง.
และนี่จะได้รับรายการข่าวพารามิเตอร์ของแฮ็กเกอร์
และเราจะทำอัลกอริธึมการจัดเรียงอย่างง่ายที่นี่
เราจะใช้ฟังก์ชัน sort ที่เรามี
เราจะให้รายการข่าวของแฮ็กเกอร์
และมาดูกันว่าเกิดอะไรขึ้น
ฉันจะดำเนินการนี้
โอ้ และฉันต้องจัดการมันที่นี่
นั่นคือวิธีการ
เรียกใช้สิ่งนี้อีกครั้ง
เราได้รับข้อผิดพลาดที่นี่ และหากเราอ่านข้อผิดพลาดว่าข้อผิดพลาดประเภท ไม่รองรับระหว่างอินสแตนซ์ของ
dict และ dict
อืม.
นั่นหมายความว่าอย่างไร?
เรากำลังพยายามจัดเรียงรายการในรายการ แต่เป็นพจนานุกรมทั้งหมด
ดังนั้น Python จึงพูดว่า เฮ้ ฉันไม่เข้าใจ
คุณต้องการให้ฉันจัดเรียงอย่างไร
คุณต้องการให้ฉันจัดเรียงตามชื่อเรื่อง ตามลิงค์ ตามคะแนนโหวตหรือไม่
คุณต้องบอกฉัน
และนี่คือรูปแบบทั่วไปที่มีการจัดเรียงซึ่งคุณจะต้องทำความคุ้นเคย
เราจะใช้ฟังก์ชันแลมบ์ดา
พารามิเตอร์ที่สองของเราจะเป็นคีย์ที่เราต้องการจัดเรียง
และกุญแจสำคัญที่เราต้องการจัดเรียงก็คือคะแนนโหวตใช่ไหม
สิ่งที่เราจะทำคือพูดว่าแลมบ์ดา
แล้วบอกว่าคีย์
และคีย์นี้ที่เราจะจัดเรียงคือคะแนนโหวต
เพื่อว่าถ้าฉันบันทึกสิ่งนี้และเรียกใช้อีกครั้ง
ดูนั่น.
ฉันมีทุกอย่างเรียงตามคะแนนโหวต
อย่างที่เห็น.
ตอนนี้ ถ้าคุณใช้แลมบ์ดามากเกินไป คุณสามารถไปที่ส่วนของหลักสูตรที่เราพูดถึงแลมบ์ดาที่นี่
แต่นี่เป็นเพียงรูปแบบทั่วไปที่คุณจำได้เมื่อจัดเรียง
เมื่อใดก็ตามที่คุณจัดเรียงพจนานุกรม เราใช้คีย์ และคุณสามารถกำหนดไวยากรณ์ด้วยแลมบ์ดาและส่งคีย์ให้กับมันได้
ที่คุณต้องการจัดเรียงตาม
ในกรณีของเราคือคะแนนเสียง
สิ่งสุดท้ายที่เราต้องการทำคือเราต้องการมีลำดับย้อนกลับ
ดังนั้นรายการอันดับต้น ๆ ในรายการควรเป็นหรือรายการแรกในรายการควรมีจำนวนโหวตสูงสุด
เราก็ทำได้ด้วยพารามิเตอร์ตัวที่สามโดยบอกว่าการย้อนกลับเท่ากับจริง
เป็นแบบนั้น.
ตอนนี้ถ้าฉันบันทึกและเรียกใช้รหัสของเรา
เราเห็นว่าเรามีรายชื่อลิงก์ด้านบนทั้งหมดที่มีคะแนนสูงสุด 1 ใน 309 โหวตที่นี่
เยี่ยมมาก
ตอนนี้ส่วนที่น่าตื่นเต้นคือคุณไม่จำเป็นต้องไปที่เว็บไซต์ Hacker News อีกต่อไป
คุณสามารถเป็นโปรแกรมเมอร์ที่สมบูรณ์และทำสิ่งที่เจ๋งๆ ได้ เช่น อ่านชื่อที่นี่ และเราสามารถอ่านเกี่ยวกับโทษ
5 พันล้านดอลลาร์ของ Facebook ได้
เนื่องจากเหตุผลความเป็นส่วนตัว
เพียงแค่เลือกลิงก์นี้และสมมติว่าคุณกำลังใช้เทอร์มินัล คุณสามารถพูดการเลือกแบบเปิดเป็น
URL และดูสิ่งนั้นได้
เราสามารถอ่านเรื่องราวโดยตรงเช่นนั้น
เยี่ยมมาก
ตอนนี้คุณมี Hacker News เวอร์ชันที่สะอาดและมีประสิทธิภาพมากขึ้นซึ่งคุณสามารถอ่านได้ทุกวัน
และสิ่งที่คุณต้องทำก็แค่เรียกใช้สคริปต์นี้ในตอนเช้าและอ่านให้เสร็จ
ขณะนี้ มีหลายวิธีที่คุณสามารถขยายโครงการนี้ได้
คุณสามารถแสดงสิ่งนี้ในไฟล์ HTML ที่จัดทำดัชนีของคุณเองเพื่อให้คุณสามารถคลิกลิงก์เหล่านี้ได้จริง
คุณสามารถทำเช่นนี้กับเว็บไซต์อื่นๆ
แต่ความท้าทายและแบบฝึกหัดของฉันสำหรับคุณคือ เราจะขยายรายการนี้ให้ครอบคลุมมากกว่าหน้าแรกของ
Hacker News ได้อย่างไร
นั่นคือถ้าเรากลับไปที่ Hacker News จนถึงตอนนี้เราได้คัดลอกเพียง 30 ลิงก์เหล่านี้
แต่ถ้าฉันคลิกเพิ่มเติมที่นี่ และฉันต้องการไปที่หน้าที่สองนี้ และฉันต้องการขูดสองหน้าแรกของ
Hacker News
ฉันจะทำสิ่งนี้ได้อย่างไรในวิดีโอหน้า
ฉันจะให้วิธีแก้ปัญหาแก่คุณ แต่ฉันขอท้าให้คุณคิดออกเองและดูว่าคุณจะทำได้อย่างไร
ถ้าคุณติดขัด
แล้วเจอกันใหม่ในวิดีโอหน้าครับ
ลาก่อน.