关于python中phantomjs无法访问网页的处理
来源:互联网 发布:linux硬盘分区命令 编辑:程序博客网 时间:2024/06/08 07:51
。,。笔者使用的系统是linux ubuntu,最近在学习爬虫的过程中遇到了一个抓狂的问题,我尝试使用selenium加phantomjs来登陆网页的时候,Pythony一直提示selenium无法找到元素,不管我怎样修改定位的方法,永远出现No such elements的错误,让我几乎抓狂。再确认了测试了好几遍编写的代码后,我将程序出现的错误定位在了其中这几行代码里面
>>> from selenium import webdriver>>> driver = webdriver.PhantomJS()>>> driver.get("http://weibo.com")正常情况下,这三行无比简单的代码是不可能有错的,但是事实告诉我错就在这里。
>>> driver.page_source'<html><head></head><body></body></html>'我尝试查看网页的源码,结果出来的就只有这些,新浪主页就这点东西???
>>> driver.get("asfgsdagshgdfh")>>> driver.page_source'<html><head></head><body></body></html>'接下来我尝试乱输了一堆字符进去,查看源代码,还是这堆东西,这就让我比较抓狂了。随便输都是这样,那代表我安装的phantomjs浏览器是无法访问网页的,在按照网上的方法重新安装了最新的phantomojs后,结果还是这样,来来回回重装了N次,丝毫没有作用,折腾了一个下午也没有出结果
>>> driver.get("http://news.sina.com.cn/")dri>>> len(driver.page_source)584412>>>再然后我不报希望的测试其它网页,百度,微博都是不行的,但新浪网反而可以访问,刚开始我觉得问题可能是出在网页的设置上,在更改了浏览器的headers之后还是无法访问,又经过几次尝试和归类,总结出这家伙其实是不能访问https开头的网址,http是超文本传输协议,s是ssl加密,https就是http加ssl,这就意味着我其实是不能访问经过ssl加密后的http网站。得到了这个结论之后,我开始在寻找解决的方法,在翻遍了国内各大网站无果后,我在国外的一个论坛发现了解决的办法。
driver=webdriver.PhantomJS(service_args=['--ssl-protocol=any'])就这么一行简单的代码。
其实phantomjs的参数是可以在构造时设定的,我无法访问https的网站就是因为参数错了,在创建浏览器对象时将ssl的属性设置为any就可以解决。
看到国内的网站还没有针对这种情况的处理,就写了篇文发出来,当做折腾了一下午的纪念
阅读全文
2 0
- 关于python中phantomjs无法访问网页的处理
- Python中使用PhantomJS抓取Javascript网页数据
- Python使用Selenium和PhantomJS解析动态JS的网页
- Python使用Selenium和PhantomJS解析动态JS的网页
- Python使用Phantomjs截屏网页
- 关于jupyter notebook安装成功后网页无法访问的问题
- 关于局域网中无法访问的解决方法
- 关于局域网中无法访问的解决方法
- python中关于时间的处理
- python中关于时间变量的处理
- 关于Python中interval的处理
- Python中关于时间处理的方法
- python处理网页过程中出现的问题
- 关于Android中webview交互弹出网页对话框的处理
- python获取完整网页内容(即包括js动态加载的):selenium+phantomjs
- python phantomjs
- python phantomjs+ selenium2 抓取动态js网页(版本python2.7+)
- python+selenium+PhantomJS爬取网页动态加载内容
- NOIP2012Day2T1同余方程解题报告以及扩展欧几里得讲解
- python爬虫——用selenium和phantomjs对新浪微博PC端进行爬取(二)
- Dubbo+Zookeeper+Spring mvc+Nginx 集群负载均衡 详细demo
- 解读Batch Normalization
- makefile:2: *** missing separator. Stop. make 之后出现的错误,解决方法
- 关于python中phantomjs无法访问网页的处理
- (一) MySQL 性能优化 基础之索引概念
- (二) MySQL 优化
- HBase CURD之Get
- java 员工管理系统
- (三) MySQL 全文索引(mysqlcft)支持中文的插件安装使用
- Spring batch 第 1 部分:使用 Spring Batch 构建企业级批处理应用
- (四) MYSQL全文索引 sphinx + coreseek 支持中文
- Leetcode 647. Palindromic Substrings