Python实现Selenium网络爬虫的方法小结
什么是Selenium?
Selenium是一个自动化测试工具,通过模拟真实的用户操作,例如点击、输入等,与网站进行交互,获取所需数据。
安装Selenium
在Python中安装Selenium很简单,使用pip命令安装即可:
pip install selenium
下载并配置浏览器驱动
Selenium需要浏览器驱动来操作浏览器,不同的浏览器需要不同的驱动。你可以在Selenium官网下载对应的驱动,下载地址为:http://selenium-python.readthedocs.io/installation.html#drivers
下载之后,将驱动文件路径配置到环境变量中,或者直接放在项目目录下,也可以在代码里指定驱动文件路径。
爬取网页
打开浏览器
首先需要导入Selenium库,并且指定要使用的浏览器驱动,如下:
from selenium import webdriver
browser = webdriver.Chrome() # 指定使用Chrome浏览器驱动
访问网页
使用get()方法访问网页,例如访问百度:
browser.get('http://www.baidu.com')
查找元素并操作
使用find_element_by_xxx()方法查找元素,xxx可以是id、name、class等等形式,例如查找输入框并输入文字:
input = browser.find_element_by_id('kw')
input.send_keys('Python')
使用click()方法模拟点击操作:
button = browser.find_element_by_id('su')
button.click()
获取网页源代码
使用page_source属性获取网页源代码:
html = browser.page_source
关闭浏览器
使用close()方法关闭浏览器:
browser.close()
示例一:爬取豆瓣电影Top250信息
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get('https://movie.douban.com/top250')
for i in range(10):
time.sleep(1)
browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
items = browser.find_elements_by_css_selector('.item')
for item in items:
index = item.find_element_by_css_selector('em').text
name = item.find_element_by_css_selector('.title').text
score = item.find_element_by_css_selector('.rating_num').text
quote = item.find_element_by_css_selector('.quote').text
print(index + '.' + name + ' ' + str(score) + ' ' + quote)
browser.close()
示例二:模拟登陆
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://www.example.com')
username = browser.find_element_by_name('username')
password = browser.find_element_by_name('password')
username.send_keys('your_username')
password.send_keys('your_password')
submit = browser.find_element_by_name('submit')
submit.click()
browser.close()
这就是Selenium网络爬虫的基本操作,通过模拟真实用户的操作,Selenium可以获取所需数据。但需要注意的是,在爬取过程中,如果过于频繁的访问网站,会对网站造成影响,请适当控制爬取频率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现selenium网络爬虫的方法小结 - Python技术站