Scrapy - แมงมุมตัวแรก
คำอธิบาย
Spider เป็นคลาสที่กำหนด URL เริ่มต้นเพื่อดึงข้อมูลวิธีการติดตามลิงก์การแบ่งหน้าและวิธีแยกและแยกวิเคราะห์ฟิลด์ที่กำหนดใน items.py. Scrapy ให้แมงมุมประเภทต่างๆซึ่งแต่ละชนิดมีวัตถุประสงค์เฉพาะ
สร้างไฟล์ชื่อ "first_spider.py"ภายใต้ไดเร็กทอรี first_scrapy / spiders ซึ่งเราสามารถบอก Scrapy ได้ว่าจะหาข้อมูลที่ต้องการได้อย่างไร สำหรับสิ่งนี้คุณต้องกำหนดคุณลักษณะบางอย่าง -
name - กำหนดชื่อเฉพาะสำหรับแมงมุม
allowed_domains - มี URL พื้นฐานสำหรับสไปเดอร์ในการรวบรวมข้อมูล
start-urls - รายการ URL ที่แมงมุมเริ่มรวบรวมข้อมูล
parse() - เป็นวิธีการที่แยกและแยกวิเคราะห์ข้อมูลที่คัดลอกมา
รหัสต่อไปนี้แสดงให้เห็นว่ารหัสแมงมุมมีลักษณะอย่างไร -
import scrapy
class firstSpider(scrapy.Spider):
name = "first"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
"http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
]
def parse(self, response):
filename = response.url.split("/")[-2] + '.html'
with open(filename, 'wb') as f:
f.write(response.body)