Fazlul

Untitled

Jun 20th, 2021
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. import scrapy
  2. from selenium import webdriver
  3. from time import sleep
  4.  
  5.  
  6. class ProductSpider(scrapy.Spider):
  7. name = "card"
  8. allowed_domains = ['moneyfacts.co.uk']
  9. start_urls = ['https://moneyfacts.co.uk/credit-cards/balance-transfer-credit-cards/?fbclid=IwAR05-Sa1hIcYTRx8DXYYQd0UfDRjWF-jD2-u51jiLP-WKlkxSddKjzUcnWA']
  10.  
  11. def __init__(self):
  12. self.driver = webdriver.Chrome()
  13.  
  14. def parse(self, response):
  15. self.driver.get(response.url)
  16.  
  17. while True:
  18. next = self.driver.find_element_by_xpath('//*[text()="Show More"]')
  19.  
  20. try:
  21. next.click()
  22.  
  23. lists = self.driver.find_elements_by_xpath(
  24. '//ul[@id="finder-table"]/li')
  25. for list in lists:
  26. yield{
  27. 'Name': list.xpath('./*[@class="table-item-heading-product-name"]/span/strong/text()').get(),
  28. 'Title': list.xpath('./*[@class="table-item-heading-product-name"]/span/text()').get()
  29. }
  30.  
  31. except:
  32. break
  33.  
  34. self.driver.close()
  35.  
Advertisement
Add Comment
Please, Sign In to add comment