selenium模块的基本使用
问题:selenium模块和爬虫之间具有怎样的关联?
-便捷的获取网站中动态加载的数据
-便捷实现模拟登录
什么是selenium模块?
-基于浏览器自动化的一个模块。
selenium使用流程:
-环境安装:pip install selenium
-下载一个浏览器的驱动程序
-下载路径参考博客:https://blog.csdn.net/VXadmin/article/details/89433821
-驱动程序和浏览器的映射关系:https://blog.csdn.net/weixin_50233989/article/details/113242332
-实例化一个浏览器对象
-编写基于浏览器自动化的操作代码
-发起请求:get(url)
-标签定位:find系列的方法
-标签交互:send keys( 'xxx')
-执行js程序:excute script('jsCode ')
-前进,后退:back(),forward()
-关闭浏览器:quit()
1.获取ajax页面数据(化妆品药监局数据爬取)
from time import sleep
from selenium import webdriver
from lxml import etree
bro = webdriver.Edge(executable_path='./MicrosoftWebDriver.exe')
bro.get('http://scxk.nmpa.gov.cn:81/xk/')
page_text = bro.page_source
tree = etree.HTML(page_text)
li_list = tree.xpath('//ul[@id="gzlist"]/li')
for li in li_list:
name = li.xpath('./dl/@title')[0]
print(name)
sleep(5)
bro.quit()
2.selenium其他自动化操作
from time import sleep
from selenium import webdriver
from lxml import etree
bro = webdriver.Edge(executable_path='./MicrosoftWebDriver.exe')
bro.get('https://www.taobao.com/')
search_input=bro.find_element_by_id('q')
search_input.send_keys('Iphone')
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(5)
btn = bro.find_element_by_css_selector('.btn-search')
btn.click()
bro.get('https://daohang.qq.com/?fr=hmpage')
sleep(2)
bro.back()
sleep(2)
bro.forward()
sleep(5)
bro.quit()
|