0
背景
我對於通常使用Scrapy和webscraping非常陌生,我試圖訪問目標網頁,填寫目前的表單,提交該表單並從返回的頁面中抓取數據成物品。完成這些步驟後,我想返回到目標網頁,填寫不同信息的表單,並將已返回的數據擦除,然後將這些數據附加到相同的項目。如何用不同的值多次提交一個表格?
我有什麼
下面的代碼填寫目標表格,擦傷返回的頁面信息,並把這些信息到項目。
import scrapy
from AirScraper.items import AirscraperItem
class airSpider(scrapy.Spider):
name = "airSpider"
start_urls = ["https://book.jetblue.com"]
origin = "MCO"
dest = "BOS"
dateDep = "2015-05-13"
dateRet = "2015-05-15"
def parse(self, response):
return scrapy.FormRequest.from_response(
response,
formname = "searchForm",
formdata={'origin' : self.origin, 'destination' : self.dest, 'departureDate' : self.dateDep, 'returnDate' : self.dateRet},
callback=self.after_search
)
def after_search(self, response):
flights = response.xpath('//*[contains(@class, "flight-row no-mint")]')
for sel in flights:
#scrape data about target flight
yield item
我需要什麼
一旦我從初一請求刮數據,我需要再返回到原來的表單頁面,與同類數據填好,然後刮它的結果好。我只是不確定如何去告訴蜘蛛回到第一頁並執行一系列不同的操作。