Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การปรับใช้สไปเดอร์ Scrapy บน ScrapingHub


แมงมุมขี้ขลาด

สไปเดอร์สไปเดอร์สเป็นคลาสที่อำนวยความสะดวกในการติดตามลิงก์ของเว็บไซต์และดึงข้อมูลออกจากหน้าเว็บ

นี่คือคลาสหลักที่สไปเดอร์ตัวอื่นต้องสืบทอดมา

Scrapinghub

Scrapinghub เป็นแอปพลิเคชั่นโอเพ่นซอร์สเพื่อเรียกใช้สไปเดอร์ Scrapy Scrapinghub เปลี่ยนเนื้อหาเว็บให้เป็นข้อมูลหรือข้อมูลที่เป็นประโยชน์ ช่วยให้เราดึงข้อมูลจากหน้าเว็บได้แม้กระทั่งหน้าเว็บที่ซับซ้อน

เราจะใช้ scrapinghub เพื่อปรับใช้สไปเดอร์สไปเดอร์บนคลาวด์และดำเนินการได้

ขั้นตอนในการปรับใช้สไปเดอร์บน scrapinghub -

ขั้นที่ 1 -

สร้างโปรเจ็กต์ที่น่าขยะแขยง -

หลังจากติดตั้ง scrapy แล้ว ให้รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ -

$scrapy startproject <project_name>

เปลี่ยนไดเรกทอรีของคุณเป็นโครงการใหม่ของคุณ (project_name)

ขั้นตอนที่ 2 -

เขียนสไปเดอร์สไปเดอร์ตัวหนึ่งสำหรับเว็บไซต์เป้าหมายของคุณ ลองใช้เว็บไซต์ปกติ "quotes.toscrape.com"

ด้านล่างนี้คือแมงมุมตัวเล็กๆ ของฉัน -

รหัส −

#import scrapy library
import scrapy

class AllSpider(scrapy.Spider):

crawled = set()
#Spider name
name = 'all'
#starting url
start_urls = ['https://www.tutorialspoint.com/']

def __init__(self):
   self.links = []

def parse(self, response):
   self.links.append(response.url)
   for href in response.css('a::attr(href)'):
      yield response.follow(href, self.parse)

ขั้นตอนที่ 3 -

เรียกใช้สไปเดอร์ของคุณและบันทึกผลลัพธ์ไปยังไฟล์ links.json ของคุณ -

หลังจากรันโค้ดด้านบนแล้ว คุณจะสามารถขูดลิงก์ทั้งหมดและบันทึกไว้ในไฟล์ links.json นี่อาจไม่ใช่กระบวนการที่ใช้เวลานาน แต่เพื่อให้ทำงานอย่างต่อเนื่องตลอด 24 ชั่วโมง (24/7) เราจำเป็นต้องปรับใช้สไปเดอร์นี้บน Scrapinghub

ขั้นตอนที่ 4 -

การสร้างบัญชีบน Scrapinghub

เพื่อที่คุณจะต้องลงชื่อเข้าใช้หน้าเข้าสู่ระบบของ ScrapingHub โดยใช้บัญชี Gmail หรือ Github ของคุณ มันจะเปลี่ยนเส้นทางไปยังแดชบอร์ด

การปรับใช้สไปเดอร์ Scrapy บน ScrapingHub

ตอนนี้คลิกที่สร้างโครงการและระบุชื่อโครงการ ตอนนี้ เราสามารถเพิ่มโปรเจ็กต์ของเราไปยังคลาวด์ได้โดยใช้ command line (CLI) หรือผ่าน github ต่อไปเราจะปรับใช้รหัสของเราผ่าน shub CLI ขั้นแรกให้ติดตั้ง shub

$pip install shub

หลังจากติดตั้ง shub แล้ว ให้ลงชื่อเข้าใช้บัญชี shub โดยใช้คีย์ api ที่สร้างขึ้นจากการสร้างบัญชี (ป้อนคีย์ API ของคุณจาก https://app.scrapinghub.com/account/apikey)

$shub login

หากคีย์ API ของคุณใช้ได้ แสดงว่าคุณเข้าสู่ระบบแล้ว ตอนนี้ เราจำเป็นต้องปรับใช้โดยใช้รหัสการนำไปใช้ ซึ่งคุณจะเห็นในส่วนบรรทัดคำสั่งของส่วน "ปรับใช้โค้ดของคุณ" (ตัวเลข 6 หลัก)

$ shub deploy deploy_id

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

การปรับใช้สไปเดอร์ Scrapy บน ScrapingHub

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