Cognitive radio is proposed as an efficient way to address the issue of spectrum shortage and under-utilization, in which cooperative spectrum sensing (CSS) is used to enhance the sensing performance. One of the most fundamental problems of CSS is: how to appropriately assign the secondary users (SUs) to sense the primary user (PU) channels? In this paper, we study the CSS problem under a more practical scenario where we take the heterogeneous characteristics of both SUs and PU channels into consideration. With the objective to maximize the achievable throughput for SUs, we propose a cluster-based CSS to obtain a proper assignment policy, in which all the SUs in the same cluster cooperate in sensing the same set of PU channels. Moreover, the cluster-based CSS problem is formulated as a Maximum Weight one-sided Biclique (MWB) problem. We prove that the MWB problem is NP-complete, and a greedy heuristic algorithm with polynomial computational complexity is developed to find the suboptimal assignment policy. Evaluation results show that our proposed greedy algorithm can achieve a close-to-optimal solution with far less complexity.