In the cloud computing environment, there are huge amounts of functionally similar cloud services. Additionally, user requirements can change. Therefore, it is difficult to recommend services that meet users’ requirements. To overcome the problems, a service recommendation method based on requirements is proposed. First, we form user communities by clustering to reduce the recommended range. Second, we use the reported QoS (Quality of Service) values and the evaluated QoS values to predict the QoS requirements of users. Third, based on the requirements, the matching degree of users to services is obtained. Finally, based on the similarity between the target user and the user’s neighbors and the difference in their matching degree of service and the ratings of services by the neighbors, we can obtain a list of service recommendations for the target user. Compared to the traditional collaborative filtering method and the deviation-based method, our method improves the recommendation accuracy without lowering the efficiency.