微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

爬虫-selenium

爬虫-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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐