使用Selenium抓取淘宝数据
淘宝的反扒措施太严格了。搞了半天没破解,最后使用使用所见即可爬的Selenium。
在正常浏览器打开淘宝在console面板输入window.navigator.webdriver,返回的时undefined,使用selenium驱动的浏览器同样的操作,返回的是True。可能是淘宝的反扒措施之一。
尝试了淘宝的登录页面,但是没有获取到“密码登录”的接口。
所以直接在程序运行过程中扫码登录。
定义一个登录方法login():
def login():
logon_url = "https://login.taobao.com/"
browser.get(logon_url)
try:
print("请扫码登录")
time.sleep(10)
# until()方法传入等待条件,presence_of_element_located()代表节点出现,其参数为节点的定位元祖。
input = wait.until(EC.presence_of_element_located((By.XPATH, '//input[@id="q"]')))
submit = wait.until(EC.element_to_be_clickable((By.XPATH, '//button[@class="btn-search tb-bg"]')))