首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scrapy selenium驱动程序没有遵循

scrapy selenium驱动程序没有遵循
EN

Stack Overflow用户
提问于 2019-05-17 04:59:11
回答 1查看 462关注 0票数 1
代码语言:javascript
复制
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)

设置文件:

代码语言:javascript
复制
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
}

documentation on scrapy-selenium我已经一步一步地遵循了说明,但是驱动程序没有遵循任何链接。我相信这两个请求都是由scrapy处理的。我不想更改__init__,因为我希望使用scrapy-selenium处理一些请求,而使用scrapy(单独)处理其他请求。

我检查了passing-selenium-driver-to-scrapy,但它更改了整个init,使selenium成为self.driver。

我想要一些请求是由SeleniumRequest其他由抓取的Request处理

注意:我已经使用这个网站作为示例网站,它使用java来显示结果,如果由scrapy (单独)处理,数据还没有呈现,所以结果将是空列表

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 08:19:06

我用chrome替换了firefox:

代码语言:javascript
复制
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56176541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档