ZBLOG

import scrapy import time from ..items import JournalsItem, JournalsDetailItem, JournalCoverItem from scrapy.linkextractors import LinkExtractor from scrapy_selenium import SeleniumRequest from selenium import webdriver from selenium.webdriver.com...

代码中 parse_detail 函数使用了 response.request.meta['driver'] 来获取 Selenium 的 webdriver 对象,但是在 parse 函数中并没有传递该对象,因此在执行 yield SeleniumRequest() 的时候可能出现了问题。

你可以尝试修改代码,在 yield SeleniumRequest() 中增加一个参数来传递 webdriver 对象。例如:

# 在 parse() 函数中的 yield SeleniumRequest() 中增加一个 meta 参数
yield SeleniumRequest(
    url=full_url,
    callback=self.parse_detail,
    wait_time=10,
    wait_sleep=2,
    meta={'driver': driver}
)

这样,在执行 parse_detail 函数时就可以通过 response.meta['driver'] 获取到 webdriver 对象了。

另外,如果依然无法运行,可以检查一下是否设置了正确的 xpath 表达式来提取需要的数据,并且确保请求的页面能够正常打开(比如是否需要登录等)。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=849

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?