Análisis de revisión de productos básicos 1

En comparación con el comportamiento del cliente (hábitos de clics, profundidad de acceso, asociación de demanda, etc.) o los atributos del cliente (grupo de edad, género, región, etc.), las consultas positivas y los comentarios de los clientes son particularmente importantes. En la actualidad, probablemente hay dos direcciones para las consultas positivas: una es el archivo inteligente después de la conversión de voz a texto de las llamadas de los clientes, y la otra es la interacción hombre-computadora (ASR o texto en línea); la retroalimentación son sugerencias, comentarios o preguntas del usuario. , etc esperar.

  Este artículo trata sobre el análisis de la retroalimentación. Una es que la información que se solicita positivamente a menudo solo está disponible dentro de la empresa, y la otra es que el análisis de retroalimentación también es de gran importancia. Opinión personal, para las empresas, el análisis de comentarios puede comprender las preocupaciones del usuario; para los competidores, dado que la información positiva es difícil de obtener, analizar los comentarios de los usuarios del oponente puede comprender al oponente; para los compradores comunes, las revisiones negativas de los productos a menudo rara vez o incluso se ocultan , En este momento, obtener comentarios de otros compradores e identificar los comentarios negativos puede ayudarlo a juzgar (a veces, un producto tiene muchas ventajas, pero hay algunos detalles que pueden no ser aceptables para usted).

  La idea del autor es recopilar comentarios sobre un determinado producto de Tmall y analizar las diferencias entre productos de diferentes especificaciones, preocupaciones de los usuarios, problemas del producto, etc. en función de las reseñas.

  Pasos: recopilación de comentarios - procesamiento de datos - análisis de datos

1. Recoge el texto del comentario

Hay muchas formas de recopilar, rastreadores (a través de enlaces de comentarios), con la ayuda de recopiladores (como octopus) y programas de automatización de escritura, como el uso de python (selenium, pyautogui). El autor utiliza la función de uibot más un complemento personalizado para recopilar y mejorar la eficiencia ~

1. Complemento personalizado de UIbot

    uibot es compatible con el navegador IE (otros incluyen Google y Firefox, aún no lo he probado), el complemento es compatible con python y las funciones personalizadas se colocan en la carpeta extendida, y luego los paquetes de python involucrados se colocan en lib\ carpeta de paquetes del sitio. Se recomienda reiniciar uibot después de colocar el complemento, porque a veces le indicará que no se encuentra. La función personalizada del autor es encontrar el título del producto (expresión regular) y estandarizar el contenido recopilado por uibot, lo cual es conveniente para escribir en Excel.

Código del complemento:

def getallwt():
    titles = pygetwindow.getAllTitles()
    return titles
def arrtmall(arr):
    arr1=[]
    arr2=[]
    for i in range(len(arr)):
        for j in range(3):#len(arr[i])
            arr1.append(arr[i][j])
    for i in range(0,len(arr1),3):
            arr2.append(arr1[i:i+3])
    return arr2
def sleeptime(t):
    time.sleep(t)

2. Recoge comentarios

El método primero recopila los comentarios en la primera página y luego recopila los siguientes en un bucle.

Problemas encontrados durante este período y soluciones:

(1) Después de que uibot encuentra el elemento "siguiente página", simplemente permanece en la parte inferior de la página y no se puede hacer clic con el mouse. La solución es moverse primero al elemento, luego simular el desplazamiento y luego hacer clic.

(2) Pasar la página demasiado rápido activa el mecanismo anti-escalada de Tmall (cuadro de verificación emergente). La solución es retrasar el proceso. El autor fijó la demora en 5s, y la casilla de verificación no apareció.

Imagen del efecto: se recopilaron 99 páginas (¿parece ser hasta 99?), y los 3 campos son comentarios, categorías y compradores (también puede recopilar el tiempo si es necesario más adelante)

codigo uibot:

title=XX//打开的商品链接浏览器标题
kfExcelWorkBook = Excel.OpenExcel("D:\\tmall评论爬取.xlsx",true)
win=getwindow.getwt(title)
TracePrint win
Window.SetActive({"wnd":[{"cls":"IEFrame","title":win,"app":"iexplore"}]})
tmall = UiElement.DataScrap({"html":{"attrMap":{"parentid":"J_Reviews","tag":"TABLE"},"index":0,"tagName":"TABLE"},"wnd":[{"app":"iexplore","cls":"IEFrame","title":win},{"cls":"Internet Explorer_Server"}]},{"Columns":[],"ExtractTable":1},{"objNextLinkElement":"","iMaxNumberOfPage":5,"iMaxNumberOfResult":-1,"iDelayBetweenMS":1000,"bContinueOnError":false})
// TracePrint tmall
arr=arrtmall1.arrtmall(tmall)
// TracePrint arr
rows = Excel.GetRowsCount(kfExcelWorkBook,"Sheet1")
Excel.WriteRange(kfExcelWorkBook,"Sheet1","A"&rows+1,arr,true)
Excel.Save(kfExcelWorkBook)
// 爬取页数
page=100
c=2
Do While c<=page
    Window.SetActive({"wnd":[{"cls":"IEFrame","title":win,"app":"iexplore"}]})
    Mouse.Hover({"html":[{"aaname":"下一页>>","parentid":"J_Reviews","tag":"A"}],"wnd":[{"app":"iexplore","cls":"IEFrame","title":win},{"cls":"Internet Explorer_Server"}]},10000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":true,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"simulate"})
    Mouse.Wheel(1,"down", [],{"iDelayAfter":300,"iDelayBefore":200})
    Mouse.Action({"html":[{"aaname":"下一页>>","parentid":"J_Reviews","tag":"A"}],"wnd":[{"app":"iexplore","cls":"IEFrame","title":win},{"cls":"Internet Explorer_Server"}]},"left","click",10000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":true,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"simulate"})
    arrtmall1.sleeptime(5)
    tmall = UiElement.DataScrap({"html":{"attrMap":{"parentid":"J_Reviews","tag":"TABLE"},"index":0,"tagName":"TABLE"},"wnd":[{"app":"iexplore","cls":"IEFrame","title":win},{"cls":"Internet Explorer_Server"}]},{"Columns":[],"ExtractTable":1},{"objNextLinkElement":"","iMaxNumberOfPage":5,"iMaxNumberOfResult":-1,"iDelayBetweenMS":1000,"bContinueOnError":false})
    // TracePrint tmall
    arr=arrtmall1.arrtmall(tmall)
    // TracePrint arr
    rows = Excel.GetRowsCount(kfExcelWorkBook,"Sheet1")
    Excel.WriteRange(kfExcelWorkBook,"Sheet1","A"&rows+1,arr,true)
    Excel.Save(kfExcelWorkBook)
    c=c+1
Loop

Seguimiento https://blog.csdn.net/m0_49621298/article/details/107585855

Supongo que te gusta

Origin blog.csdn.net/m0_49621298/article/details/107603652
Recomendado
Clasificación