python网络爬虫学习(六)

1.selenium操作浏览器的方法。

2安装anaconda中遇到的问题?
遇到多版本兼容怎么办?有python和anaconda两个想用anaconda如何配置环境变量?

path环境变量的意义:让系统找到一些exe文件。
1.如何配置?
	(1)配置一下路径:
		C:\Anaconda3----python.exe
		C:\Anaconda3\Scripts----pip.exe
	(2)把这两个目录放在path最前面。
		这样系统在找python和pip的时候会先找到anaconda下面的内容。
2.Python2和python3如何兼容?
	当我们在cmd输入Python命令的时候,
	系统回去path目录下面取寻找与命令相同的exe可执行文件来进行启动。
	当我们都安装了python2和python3的时候,
	只需要修改两个环境中的python.exe文件的文件名,
	比如python2的改成python2.exe,python3的改成python3.exe,
	这样将来输入命令的时候,如果想启动python3,可以输入python3命令来启动。
	pip也是一样的原理。
		pip3 install 模块名
		pip2 install 模块名

3、selenium常用方法总结。
文档:selenuim常用方法总结.note
链接:http://note.youdao.com/noteshare?id=0142a95cf23fadbaea95809ccb5674b2&sub=02896A50836E4995997A821419D9A063

4、selenium中查找页面元素的方法:
# driver.find_element_by_id()----通过id进行查找
# input = driver.find_element_by_css_selector(’#kw’)—通过css选择器进行查找
# driver.find_element_by_xpath()----通过xpath进行查找。
5、用selenium+phantomjs来请页面的流程:
from selenium import webdriver
#1创建driver对象
driver = webdriver.Phantomjs()
#2。请求url
driver.get(url)
#3.等待。
time.sleep(5)
等待有三种:
(1)强制等待:
time.sleep(10)
(2)隐式等待
driver.implicitly_wait(10)
隐式等待就是等到页面全部加载完成,比如js,css或者图片全请求到加载到页面,也就是我们常看到的页面不在转圈圈为止,程序才会继续运行。
(3)显示等待。
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
步骤:
1.创建等待对象
wait = WebDriverWait(
driver,#浏览器驱动对象
10,最大等待时长
0.5,扫描间隔
)
2.wait.until(等待条件)—>等待条件成立程序才继续运行。
等待条件在selenium中有个专门的模块来设置了一些条件—expected_conditions as EC
最常用的条件有一下两个:
EC.presence_of_element_located
EC.presence_of_all_elements_located
这两个条件验证元素是否出现,传入的参数都是元组类型的locator,如(By.ID, ‘kw’)
一个只要一个符合条件的元素加载出来就通过;
另一个必须所有符合条件的元素都加载出来才行
EC.presence_of_element_located(locator对象也就是定位器)
licator对象是一个元组(
通过什么来查找,–By.ID,By.XPATH,By.CSS_SELECTOR
‘查找的内容的语法’)
3.wait.until方法的返回值是一个对应定位器所定位到的webelement对象。你如果需要对这个webelment对象做一些点击或者其他操作,可以很方便的做到。
#4获取页面内容
html = driver.page_source
#5.用lxml模块解析页面内容
tree = etree.HTML(html)

你可能感兴趣的:(python网络爬虫学习(六))