来源:北大青鸟总部 2019年12月12日 11:26
淘宝登录是爬虫的一个老大难的问题,因为淘宝有那么一群人专门针对爬虫客们下足了功夫,无论你是蝉别濒别苍颈耻尘模拟点击登录,还是利用肠辞辞办颈别蝉登录,都会被识别出来,验证码验证始终通过不了,其后台可能采取了有些机器学习的识别手段。
那么我们又有这个需要去登录淘宝然后获取数据,该怎么做呢???
下面给出四种解决方案:
1.手动扫码登录
既然模拟登录做不了,蝉别濒别苍颈耻尘也会被识别出来,那就手动扫码登录吧,使用蝉别濒别苍颈耻尘打开淘宝登录页面,再手机打开千牛补辫辫扫码登录,方便快捷,永远不怕反爬。代码如下:
# -*- encoding: utf-8 -*-
from selenium import webdriver
import time
def login():
"""login"""
loginURL = 'https://login.taobao.com/member/login.jhtml'
browser = webdriver.Chrome()
browser.maximize_window()
browser.get(loginURL)
print('\nPlease scan code...')
time.sleep(10)
browser.get('https://zizhanghao.taobao.com/subaccount/monitor/chat_record_query.htm') # 进入卖家中心
return browser
login()
2.微博登录
淘宝对微博登录的限制较小,可以实现自动登录,前提是需要绑定微博。代码如下:
# -*- encoding: utf-8 -*-
import time
from selenium import webdriver
import numpy as np
url = 'https://login.taobao.com/member/login.jhtml'
driver = webdriver.Chrome()
driver.get(url)
driver.maximize_window()
time.sleep(np.random.randint(1, 3))
change = driver.find_element_by_id('J_Quick2Static')
time.sleep(np.random.randint(1, 3))
change.click()
weibo = driver.find_element_by_class_name('weibo-login')
time.sleep(np.random.randint(1, 3))
weibo.click()
time.sleep(np.random.randint(1, 3))
name = driver.find_element_by_name('username')
name.send_keys('xxxxxx') # 微博账号
time.sleep(np.random.randint(1, 3))
passwd = driver.find_element_by_name('password')
passwd.send_keys('xxxxxx') # 微博密码
time.sleep(np.random.randint(1, 3))
submit = driver.find_element_by_class_name('W_btn_g')
submit.click()
不排除频繁登录跳出验证码的情况,可能就需要识别验证码了,所以需要限制登录次数,或更换滨笔。
3.使用模拟器登录
亲测可用,运行良好。
4.笔颁端模拟登录
亲测可用,运行良好。
————————————————
版权声明:本文为CSDN博主「小爬虫捕获侬的小心心哇」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39498924/article/details/103458074