Cómo rastrear comentarios de Taobao usando Python
importar?urllib2
importar?sys
importar?json
importar?re
#Establecer codificación predeterminada para el sistema en utf-8
reload(sys)
sys.setdefaultencoding("utf-8")
#Solo ?for?python2
'''
Este es solo un ejemplo simple, no buscará comentarios ni otras excepciones
Puedes modificar el código nuevamente según sea necesario. Modificar
'''
#Parse datos de la página web
def?parseData(html_data,?reg_str):
pattern?= ? re.compile(reg_str)
resultado?=?re.search():
¿Resultado?pattern,?html_data)
if?resultado:
p>return?result.groups()
#commodity_url? es la página de detalles del producto
commodity_url?=?"/item.htm?spm=a1z10 .1- c.w4004-9140345655.2.y3LCj0&id=44454286657"
html_data?=?urllib2.urlopen(commodity_url).read()
#Obtener ID de usuario e ID de producto
auction_msg? =?parseData(html_data,?r'userNumId=(. *?) &auctionNumId=(. *?) &')
if?not?auction_msg:
imprimir ?"¡Error en la obtención del comentario! "#Error en la adquisición, salga
sys.exit()
reviews_url?=?"/feedRateList.htm?callback=jsonp_reviews_list¤tPageNum=1&rateType=&orderType=sort_weight&userNumId =%s& .aructionNumId=%s"%auction_msg
respuesta?=?urllib2.urlopen(reviews_url)
reviews_data?=?response.read().decode("gbk" )
#Obtener datos de reseñas
json_str?=?parseData(reviews_data,?r'\((. *)\)')[0]
if?not? json_str:
imprimir?"¡No se pudieron obtener los comentarios!"#No se pudo obtener, salir
sys.exit()
jdata?=?json.loads (json_str)
p>
#Solo se imprimirá el primer comentario a continuación. Si necesita imprimir todos los comentarios, simplemente recorra jdata["Comment"]
¿imprimir? jdata["Comentario"][0]["contenido "]
?