自己想看一本网络小说但是网络上没有可以直接下载的txt格式文件到我的kindle上,于是想写个爬虫。使用python-selenium工具。
0、前提:已经安装好了python环境,包括环境变量。
1、下载selenium包。
打开命令窗口,输入pip install selenium,即可安装好selenium包
2、下载浏览器驱动。
下载地址:http://chromedriver.storage.googleapis.com/index.html
根据自己浏览器对应的版本下载对应的驱动,例如我的浏览器版本是80.0.3**。引擎放在自己的爬虫文件的同一目录下即可。
3、selenium包的一些基本操作(以下内容复制于自己编辑的有道云笔记,复制过来格式有些乱,可移步过去,要有人看我就把笔记整理好放到csdn上)
http://note.youdao.com/noteshare?id=08cd1afbe098849ca5e097a50061d28e
from selenium import webdriver
wd = webdriver.Chrome('驱动位置')
0、创建驱动获取当前页面信息
wd.get('www.baidu.com')
wd.title #标题
wd.window_handles #所有的窗口
wd.current_window_handle #当前页面的窗口
wd.current_url #当前页面的url
wd.maximize_window() 最大话页面
1、查找元素
wd.find_element_by_id('name') #从元素ID查找
wd.find_elements_by_class_name('name') #从元素CLASS名查找
wd.find_elements_by_tag_name('name') #从元素TAG名查找(tag为尖括号后第一项)
2、操作
2.1 常规操作
element.send_keys('message') #输入新字符串
element.click() #点击
element.clear() #清除输入框已有的字符串
element.get_attribute('class') #'value'#input输入框的文本内容
#'outerHTML'#整个HTML文本内容
#'innerHTML'#内部 的HTML文本内容
#'innerText'or'textContent'#未展
#示内容
2.2 高级操作,详情见附录2
from selenium.webdriver.common.action_chains import ActionChains as AC
ac = AC(webdrive对象)
ac.move_to_element(需要移动的位置).perform() #模拟光标移动
3、CSS选择(一下方法可混用)
find_element_by_css_selector
3.1css查找
3.2'.'前缀代表查找class
3.3)'#'前缀代表查找id
3.4无前缀代表查找tag
3.5元素1 > 元素2 代表查找元素1的直接子元素2(可多个>)
3.6元素1 元素2 代表查找元素1的后代元素2(可多个空格)
3.7以上3.5和3.6可混用
3.8.1'[att = "val"]' 代表查找属性stt的值为val的元素
3.8.2'[att]' 代表有属性stt的元素,不需要知道值为多少
3.8.3'E[stt = "val"]' 代表查找属性stt的值为val的E元素(中间不能有空格)
3.8.4 E,F 同时匹配所有E元素或F元素,逗号的优先级比其他的符号低
3.9.1 :nth-child(2) 代表查找父元素的第2个节点的元素/ :nth-last-child(1)为父元素最后1个元素 / 前可加tag类型 例: p:nth-child(2)
3.9.2 p:nth-of-type(1) 子元素中tag类型为p的第一个元素/ 倒数 p:nth-last-of-type(1) /参数可以是odd or even 表示奇数或偶数,3.9.1相同
3.10 E + F 查找元素E后紧跟的元素F(E,F为tag类型)
3.11 E ~ F 查找元素E后所有的元素F(E,F为tag类型)
3.12 [href*="str"] 其中*&