如何给phantomjs组件加代理
在pyspider里面,通过 proxy可以设置代理IP,但需要通过phantomjs去请求带有js的网页时,phantomjs并不能使用通过在crawl()中设置的代理,请问该如何设置?看了一下phantomjs的官方文档,貌似也没有很详细的介绍。求解决思路,是否需要修改源码?谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
1、升级PhantomJS到最新版(老版本不支持设置代理,官方的文档木有相关说明)
2、修改phantomjs_fetcher.js(自己搜索一下,在pyspider/fetcher目录下)
在service的function中添加如下代码(自己可以根据实际情况优化):
其实核心就是PhantomJS可以使用 phantom.setProxy 方法设置代理
/**
proxy.mimvp.com
2017.6.22
*
http : phantomjs --proxy-type=http --proxy=138.68.161.157:8080 mimvp-phantomjs.js
socks5 : phantomjs --proxy-type=socks5 --proxy=82.209.150.212:45454 mimvp-phantomjs.js
*
*/