Scrapy+phantonjs 爬去速度过慢?

发布于 2022-09-04 18:46:24 字数 1186 浏览 16 评论 0

scrapy 运行日志

**************ProxyMiddleware not pass************171.38.66.23:9999
2017-01-26 23:05:38 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://127.0.0.1:57234/wd/hub/session {"desiredCapabilities": {"browserName": "phantomjs", "version": "", "platform": "ANY", "javascriptEnabled": true}, "requiredCapabilities": {}}
2017-01-26 23:05:38 [selenium.webdriver.remote.remote_connection] DEBUG: Finished Request
2017-01-26 23:05:38 [selenium.webdriver.remote.remote_connection] DEBUG: POST http://127.0.0.1:57234/wd/hub/session/e5c0aeb0-e3d8-11e6-a629-15e39efe8c5a/url {"url": "Matweb Engineering Materials List", "sessionId": "e5c0aeb0-e3d8-11e6-a629-15e39efe8c5a"}

phantonjs 中间件代码:

def process_request(self, request, spider):
        driver = webdriver.PhantomJS(executable_path=r"/Users/apple/phantomjs-2.1.1-macosx/bin/phantomjs")
        driver.get(request.url)
        body = driver.page_source
        print ("访问"+request.url)
        return HtmlResponse(driver.current_url, body=body, encoding='utf-8', request=request)

每次执行到selenium.webdriver.remote.remote_connection 。 都会卡上20s, 请问这是为什么?

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

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

发布评论

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

评论(3

挖个坑埋了你 2022-09-11 18:46:24

最近我在试着爬取淘宝搜索结果,也是同样的问题,请教了一下我的一位前辈。在proess_request方法的第一行打印一下时间戳,发现url传入这里的时候似乎是以同步的方式逐个发送过来的,而这里返回了HtmlResponse,意味着请求将不会进入下载器(Downloader)。因此有可能这里的下载并不是以异步的方式处理的,如果希望以异步的方式进行处理,可能需要自己手写异步方法。

爱本泡沫多脆弱 2022-09-11 18:46:24

速度慢的原因有很多,电脑配置,网络原因等等。
如果想要提高速率,我们可以设置相关参数,使其不加载我们不需要的资源,比如图片,视频等等这些文件比较大的文件。如果你不想加载这些数据,可以进行如下设置

    #不加载图片
    dcap["phantomjs.page.settings.loadImages"] = False

具体可参考:phantomjs设置

Spring初心 2022-09-11 18:46:24

@FreeLoop 写的极是!
具体dcap的加法,请参看下面的链接
设置PHANTOMJS的USER-AGENT

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