Драйвер Scrapy-Selen не следует - PullRequest
0 голосов
/ 16 мая 2019
from scrapy_selenium import SeleniumRequest
import scrapy
from selenium import webdriver
class testspider1(scrapy.Spider):
    driver=webdriver.Firefox(executable_path=r"C:\Users\test\Desktop\geckodriver")
    name = 'test5'
    start_urls=['http://httpbin.org/ip']
    def parse(self, response):
        print(response.body)
        url = "https://www.target.com/p/cesar-canine-cuisine-filet-mignon-flavor-wet-dog-food-3-5oz-tray/-/A-14903668"
        yield SeleniumRequest(url=url,callback=self.parse_result)


    def parse_result(self,response):        
        image = response.xpath('//*[@id="mainContainer"]/div/div/div[1]/div[1]/div[2]/div[1]/div/div/div/div/div/div/div/a/div/div/div/div/div/img/@src').extract_first()
        price = response.selector.xpath('//*[@id="mainContainer"]/div/div/div[1]/div[2]/div/div[1]/span/text()').extract_first()
        print(image)
        print("\n\n")
        print(price)

файл настроек:

from shutil import which
BOT_NAME = 'seleniumtest'
SPIDER_MODULES = ['seleniumtest.spiders']
NEWSPIDER_MODULE = 'seleniumtest.spiders'
SELENIUM_DRIVER_NAME = 'firefox'
SELENIUM_DRIVER_EXECUTABLE_PATH = which('geckodriver')
SELENIUM_BROWSER_EXECUTABLE_PATH = which(r"C:\Users\test\Desktop\geckodriver")
ROBOTSTXT_OBEY = True
    DOWNLOADER_MIDDLEWARES = {
   'scrapy_selenium.SeleniumMiddleware': 800
}

документация по scrapy-selenium Я следовал инструкциям шаг за шагом, но драйвер не переходит по каким-либо ссылкам. Я считаю, что оба запроса обрабатываются с помощью scrapy. Я не хочу менять __init__, потому что я хочу, чтобы одни запросы обрабатывались с помощью scrapy-selenium другие с помощью scrapy (в одиночку).

Я проверил прохождение драйвера селена-к-терапии , но он изменяет весь init, чтобы сделать селен в качестве self.driver.

Я хочу, чтобы некоторые запросы обрабатывались SeleniumRequest другими с помощью scrapy Request

Примечание: я использовал этот сайт в качестве примера сайта, который использует Java для отображения результатов, если обработанные с помощью scrapy (одни) данные еще не были обработаны, поэтому результатом будут пустые списки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...