With the rapid development of Internet technology, the use of the network in people's daily life has become increasingly popular. The appearance of blog, social networking, twitter and some other platforms, makes people express their personal views on the Internet more conveniently. Analyzing these views can provide the most authentic and useful information for consumers, businesses and government. As a result, it becomes particularly important to extract, analyze and summarize information from the massive data, which will be formed as a targeted, readable analysis result for users. In this paper, with the process of opinion mining for clues, we firstly gave a comprehensive analysis on opinion mining from the view of opinion extraction, polarity analyze and opinion summarization, describing the tasks required to complete in each step. Opinion extraction section introduced the concept of domain-dependency, and shows some methods used in extraction. In the polarity analysis section, supervised learning and unsupervised learning, qualitative judgment and quantitative judgment were compared. Summary section gave a brief introduction of several summary forms, such as aspect based, opinion comparison and key works.. Then we introduced different methods on different mining levels, such as document level, sentence level, word level and aspect level, involving techniques like information retrieval, natural language processing, machine learning, etc. Later, we summarized some remaining challenging problems on opinion mining, and proposed some improved methods respectively. For example, sometimes objective sentences also contain opinions which often be overlooked by researchers. At the same time, we still unable to determine the polarity of some complex sentence. In the end of the paper, we predicted the future research trends of opinion mining.