爬虫-selenium
特点
基于浏览器自动化的模块
可以模拟手动操作
1.便捷的获取网站中动态加载的数据
2.便捷的实现模拟登陆
3.可以获取js动态加载的数据
驱动下载和版本关系
http://chromedriver.storage.googleapis.com/index.html
http://blog.csdn.net/huilan_same/article/details/51896672
简单案例
from selenium import webdriver
from lxml import etree
#实例化一个浏览器对象,需要传入驱动
chrome=webdriver.Chrome(executable_path="chromedriver")
url='https://www.ixigua.com/i6701605562779435533/'
url2='http://125.35.6.84:81/xk'
#浏览器发起请求
chrome.get(url=url2)
#浏览器获取界面源码数据
page_text=chrome.page_source
print(page_text)
tree=etree.HTML(page_text)
c_name=tree.xpath("//ul[@id='gzlist']/li/dl/@title")
print(c_name)
#关闭浏览器
chrome.quit()
常用的方法
1.发起请求:get(url)
2.标签定位:find系列的方法
3.标签交互(想输入框添值):send_keys()
4.执行js程序:execute_script("jscode")
5.请进,返回:back()/forward()
6.关闭浏览器:quit()
from selenium import webdriver
import time
chrome=webdriver.Chrome(executable_path="chromedriver")
url="https://www.jd.com"
url2="https://www.baidu.com"
#发起请求
chrome.get(url)
#找到搜索框
input=chrome.find_element_by_id("key")
#将想要查询的内容填入搜索框内
input.send_keys("显卡")
#找到搜索按钮
button=chrome.find_element_by_xpath('//*[@id="search"]/div/div[2]/button')
#点击搜索
button.click()
time.sleep(2)
#跳转到百度
chrome.get(url2)
time.sleep(2)
#返回
chrome.back()
time.sleep(2)
#前进
chrome.forward()
chrome.back()
#向下滚动一个浏览器界面的长度
for i in range(3):
chrome.execute_script('window.scrollTo(0,document.body.scrollHeight)')
time.sleep(2)
time.sleep(3)
#浏览器退出
chrome.quit()
参考链接
https://www.cnblogs.com/xiaoyuanqujing/articles/11805718.html
版权归原作者 港岛爷爷zx 所有, 如有侵权,请联系我们删除。