Semalt แนะนำ 5 ขั้นตอนในการขูดเว็บเพจ

Scrapy เป็นโอเพ่นซอร์สและกรอบการทำงานสำหรับดึงข้อมูลจากเว็บไซต์ต่าง ๆ มันใช้ API และเขียนด้วย Python ปัจจุบัน Scrapy ได้รับการดูแลโดย บริษัท ขูดเว็บที่ ชื่อว่า Scrapinghub Ltd.

มันเป็นแบบฝึกหัดง่ายๆเกี่ยวกับวิธีการเขียนโปรแกรมรวบรวมข้อมูลเว็บโดยใช้ Scrapy แยกวิเคราะห์ Craigslist และเก็บข้อมูลในรูปแบบ CSV ห้าขั้นตอนหลักของการสอนนี้กล่าวถึงด้านล่าง:

1. สร้างโครงการ Scrapy ใหม่

2. เขียนสไปเดอร์เพื่อรวบรวมข้อมูลเว็บไซต์และดึงข้อมูล

3. ส่งออกข้อมูลที่คัดลอกมาโดยใช้บรรทัดคำสั่ง

4. เปลี่ยนสไปเดอร์เพื่อติดตามลิงก์

5. ใช้อาร์กิวเมนต์ของแมงมุม

1. สร้างโครงการ

ขั้นตอนแรกคือการสร้างโครงการ คุณจะต้องดาวน์โหลดและติดตั้ง Scrapy ในแถบค้นหาคุณควรป้อนชื่อไดเรกทอรีที่คุณต้องการจัดเก็บข้อมูล Scrapy ใช้สไปเดอร์ต่าง ๆ เพื่อดึงข้อมูลและสไปเดอร์เหล่านี้ทำการร้องขอเริ่มต้นเพื่อสร้างไดเรกทอรี เพื่อให้สไปเดอร์ทำงานคุณต้องไปที่รายการไดเรกทอรีและใส่รหัสเฉพาะที่นั่น จับตาดูไฟล์ในไดเรกทอรีปัจจุบันของคุณและสังเกตเห็นไฟล์ใหม่สองไฟล์: quotes-a.html และ quote-b.html

2. เขียนสไปเดอร์เพื่อรวบรวมข้อมูลเว็บไซต์และดึงข้อมูล:

วิธีที่ดีที่สุดในการเขียนแมงมุมและดึงข้อมูลคือการสร้างตัวเลือกที่แตกต่างกันในเปลือกของ Scrapy คุณควรใส่ URL ในเครื่องหมายคำพูดเสมอ มิฉะนั้น Scrapy จะเปลี่ยนลักษณะหรือชื่อของ URL เหล่านั้นทันที คุณควรใช้เครื่องหมายคำพูดคู่รอบ URL เพื่อเขียนสไปเดอร์อย่างเหมาะสม คุณควรใช้ .extract_first () และหลีกเลี่ยงข้อผิดพลาดของดัชนี

3. ส่งออกข้อมูลที่คัดลอกมาโดยใช้บรรทัดคำสั่ง:

มันเป็นสิ่งสำคัญที่จะส่งออกข้อมูลที่คัดลอกมาโดยใช้บรรทัดคำสั่ง หากคุณไม่ส่งออกคุณจะไม่ได้รับผลลัพธ์ที่ถูกต้อง สไปเดอร์จะสร้างไดเรกทอรีต่าง ๆ ที่มีข้อมูลที่เป็นประโยชน์ คุณควรใช้คีย์เวิร์ด Python ของผลผลิตเพื่อส่งออกข้อมูลนี้ในวิธีที่ดีกว่า การนำเข้าข้อมูลไปยังไฟล์ JSON เป็นไปได้ ไฟล์ JSON มีประโยชน์สำหรับโปรแกรมเมอร์ เครื่องมืออย่าง JQ ช่วยส่งออกข้อมูลที่คัดลอกมาโดยไม่มีปัญหา

4. เปลี่ยนแมงมุมเพื่อติดตามลิงก์:

ในโครงการขนาดเล็กคุณสามารถเปลี่ยนสไปเดอร์เพื่อติดตามลิงก์ได้อย่างเหมาะสม แต่ไม่จำเป็นสำหรับโครงการ ขูดข้อมูล ขนาดใหญ่ ไฟล์ตัวยึดตำแหน่งสำหรับท่อส่งไอเท็มจะถูกตั้งค่าเมื่อคุณเปลี่ยนสไปเดอร์ ไฟล์นี้สามารถอยู่ในบทช่วยสอน / pipelines.py ด้วย Scrapy คุณสามารถสร้างสไปเดอร์ที่ซับซ้อนและเปลี่ยนตำแหน่งได้ตลอดเวลา คุณสามารถแยกหลาย ๆ ไซต์พร้อมกันและดำเนินโครงการแยกข้อมูลต่างๆ

5. ใช้อาร์กิวเมนต์ของแมงมุม:

การเรียกกลับ parse_author เป็นอาร์กิวเมนต์แมงมุมที่สามารถใช้เพื่อดึงข้อมูลจากเว็บไซต์แบบไดนามิก นอกจากนี้คุณยังสามารถระบุอาร์กิวเมนต์บรรทัดคำสั่งแก่แมงมุมด้วยรหัสเฉพาะ อาร์กิวเมนต์สไปเดอร์กลายเป็นคุณสมบัติสไปเดอร์แวร์ในเวลาไม่นานและเปลี่ยนรูปลักษณ์โดยรวมของข้อมูลของคุณ

ในบทช่วยสอนนี้เราครอบคลุมเฉพาะพื้นฐานของ Scrapy มีคุณสมบัติและตัวเลือกมากมายสำหรับเครื่องมือนี้ คุณต้องดาวน์โหลดและเปิดใช้งาน Scrapy เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับข้อกำหนดของมัน