您的位置:首页 > 编程语言 > Python开发

python下初步使用selenium/phantomJS问题总结

2017-01-01 21:27 316 查看

想做个网页爬虫工具,由于网页的JS脚本解析比较麻烦,试用了selenium+phantomJS的方式,方便很多,总结下使用过程中遇到的几个问题;

selenium可以调用浏览器工具进行网页的访问,而phantomJS可以看做一个没有界面的、后台运行的浏览器,而且可以解析JS脚本;

1、基本使用方式

from selenium import webdriver

driver = webdriver.PhantomJS(executable_path='...')

driver.set_page_load_timeout(10)

driver.get(url)

#获取网页元素的方式

driver.find_element_by_id('...')

driver.find_element_by_csss_selector('...')

driver.find_element_by_tag_name('...')

driver.find_elements_by_xpath('...')

driver.quit()

2、executable_patch设置的问题

--需要设置phantomJS执行文件的问题,路径中需要使用/,而使用\方式时出错;

3、使用driver.get(url)概率一直不返回的问题

--应该是默认加载网页超时设置为无限值导致;

--driver.set_page_load_timeout(10),即将加载网页超时设置为10s;

4、不能使用print打印中文的问题

--由于使用Notepad编写脚本时,默认使用的是ANSI格式编码;

--将编码方式修改为UTF-8编码方式解决;

5、关于对齐问题

由于python的代码块是靠空格对齐来划分的,如果不对齐将出现结果问题;

在使用notepad++编辑,可以设置:

--菜单栏->视图 -> 显示符号 -> 显示空格与制表符,这样可以看到空格符的显示信息;

--菜单栏->设置- > 首选项- > 语言- > Replace by space,并且可以设置Tab size的大小;

6、网页table的访问

--访问网页的table中某项时,网上很多都使用by xpath的方式,觉得比较麻烦;

--后来发现只要采用by id的方式就能够取到整个table的信息,然后再采用re模块的方法进行处理即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: