一、前言
1、splinter 是类似 selenium 的 一个web自动化测试的工具,
在这程序里用来驱动浏览器打开淘宝网、搜索mi10、登录
淘宝、进入小米官方旗舰店、获取小米10评论、翻页等功能。
2、pyautogui 可以驱动键盘和鼠标,这里用来处理滑块验证。
3、如果你觉得这篇博客对你有帮助,请点个赞或者评论“666”,
若感谢作者,可以打赏。谢谢。
4、先看下这个程序爬取的结果吧:
二、编程过程
1、访问淘宝网及登录
1.1先引入splinter
from splinter.browser import Browser
1.2设置 url ,还有 本地的user- agent。我用firefox浏览器,已装浏览器驱动
url = "https://www.taobao.com"
browser = Browser("firefox",user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0")
1.3开始访问淘宝网
browser.visit(url)
1.4弹出淘宝网。在搜索框中填入 mi10。用find_by_id()方法捕获搜索框,搜索框的 id 是 q ,这里写法与 selenium不同(#q)。fill(‘mi10’)填写 ‘mi10’。然后点击搜索 。
browser.find_by_id('q').first.fill('mi10')
browser.find_by_css('.btn-search').click()
1.5上一步导致弹出登录页面,在登录页面输入账号、密码,点击登录
loginID是你的账号,password是密码。
browser.find_by_id('fm-login-id').first.fill('loginID')
browser.find_by_id('fm-login-password').first.fill('password')
browser.find_by_css('.fm-button').click()
1.6 这里点击、进入小米官方旗舰店。上一步会弹出小米官方旗舰店小米10的售卖窗口。
#点击小米官方旗舰店
browser.find_by_css('#J_Itemlist_Pic_611224893062').click()
#上一步会弹出小米官方旗舰店小米10的售卖窗口,如果弹出的是标签页,则不用
#指定到弹出的窗口,后面操作
window = browser.windows[1]
window.is_current = True
1.7以上部分的代码如下:
from splinter.browser import Browser
#获取评论前的操作
def ready_option(url):
#开始访问
browser.visit(url)
#输入mi10,点击搜索。
browser.find_by_id('q').first.fill('mi10')
browser.find_by_css('.btn-search').click()
#输入账号、密码,点击登录
browser.find_by_id('fm-login-id').first.fill('loginID')
browser.find_by_id('fm-login-password').first.fill('password')
browser.find_by_css('.fm-button').click()
#点击小米官方旗舰店
browser.find_by_css('#J_Itemlist_Pic_611224893062').click()
#上一步会弹出小米官方旗舰店小米10的售卖窗口
#指定到弹出的窗口
window = browser.windows[1]
window.is_current = True
2、点击评价及滑块验证
2.1点击累计评价后面的数字
browser.find_by_css('#J_ItemRates > div:nth-child(1) > span:nth-child(2)')