Online tourism spot recommendations, as a key component of tourism services, aim to present travel options that align with users’ personal preferences. However, current recommendation systems often underperform due to the sparsity of tourism data and the wide variance in user preferences. To address this challenge, we propose a Semantic Analysis-Based Tourism Recommendation framework, abbreviated as SABTR (Semantic Analysis-Based Tourism Recommendation). The framework comprises two stages: Firstly, Latent Dirichlet Allocation (LDA) models are utilized to deeply mine data between users and attractions, constructing two core matrices: the user similarity matrix and the attraction similarity matrix. Secondly, based on the user similarity matrix, similarity calculation methods are applied to predict ratings for tourism spots that users have not yet evaluated. Simultaneously, within the attraction similarity matrix, probability distributions for each attraction across various thematic interests are calculated. When the system identifies a user’s interest in specific types of attractions, SABTR can select a series of related attractions from associated interest tags. Then, these candidate attractions are ranked according to both known and predicted user ratings, ultimately forming personalized attraction packages recommended to users. Extensive experiments have demonstrated that compared to existing tourism recommendation solutions, our method significantly improves the quality of attraction recommendations and enhances user satisfaction.