之前就用requests包爬的,但爬的过程中出现了一些错误,导致我以为爬的太多ip被禁了,后来就想了其它的方法,用到了Selenium包。程序写出来之后发现还是有错误,后来排查发现是碰到了网页链接失效导致的问题。
不过Selenium爬虫是真的慢,但是感觉比requests包爬的要安心一点。下面就总结一下我最近学习的Selenium。
-
Selenium讲解、安装以及Chrome浏览器配置,可结合下面两个链接参考
python爬虫之selenium的使用
selenium 安装与 chromedriver安装
下载chromedriver.exe之后,我就将其放在python.exe同一个安装目录下就可以了,没有像上面说的这么麻烦要放在Chrome浏览器里再去配置path环境。 -
先搞个小栗子,模拟打开浏览器,输入内容、点击等。
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(2) #隐式等待
driver.get('https://www.baidu.com/')
data = driver.page_source
input_obj = driver.find_element_by_id('kw')
input_obj.send_keys('美女')
bai_du = driver.find_element_by_xpath('//*[@id="su"]')
bai_du.click()
cookie = driver.get_cookies()
# print(cookie)
url = driver.current_url
driver.quit() # 关闭浏览器,还有一些花里胡哨的切换窗口啥的,感觉用不到
- 感觉比较难的地方就是xpath了,看一看资料啥的也能会
我有时候懒得琢磨,就统一用driver.find_element_by_xpath()了,然后xpath从网页复制 = =
如何获取链接href (侵删)
e.g.
post_link = browser.find_element_by_class_name('all-in').get_attribute('href')
获取文本
e.g.
rank = browser.find_element_by_xpath('//*[@class = "fr rank-r"]/span/i[@class = "a1"]').text
- 总结一下资料 (侵删)
selenium自动化测试xpath定位详解
写的很详细,想了解的可以看一看,但我觉得最好是用到啥就去查就好了。
selenium在爬虫领域的初涉(自动打开网站爬取信息)
里面登录、输入账号和密码还有点意思,可以看看
selenium的使用
这个博客写的很全面,我最初接触就是看的这个
一些小的Tips
需要可以看一看