scrapy 中间件的问题?

发布于 2022-09-05 20:16:28 字数 630 浏览 12 评论 0

背景:scrapy+selenium+PhantomJS

我在scrapy中写了中间件:

if request.meta.has_key('PhantomJS'):
        driver = webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs') 
        driver.get(request.url)
        time.sleep(10)
        content = driver.page_source.encode('utf-8')
        driver.quit()
        return HtmlResponse(request.url, encoding='utf-8', body=content, request=request)
    
    
    

但是遇到的问题是:当爬到一定数量的页面时,就爬不动了。
我怀疑是中间件在内存中加载了过多的数据,这些数据来自HtmlResponse(request.url, encoding='utf-8', body=content, request=request)
而没有及时取处理。

不知道,不写中间件,是否能解决问题?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一城柳絮吹成雪 2022-09-12 20:16:28

scrapy有一个请求队列,request生成了,但不一定会发出去。
目测这个代码生成了过多的webdriver或者HtmlResponse,没有及时处理导致的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文