This book targets researchers and practitioners in the area of data integration. The purpose of a data integration system is to enable users to access data residing in multiple heterogeneous sources through a uniform interface. The book addresses three key challenges that lie at the heart of any such system. The first one relates to the construction of wrappers that extract well-structured data from the less-structured sources. This book particularly focuses on sources with text-based list-formatted data, and provides a new method for extracting relational tables from them -- by leveraging the tens of millions of relational tables already published on the Web. The second and third challenges are concerned with establishing semantic mappings across data sources. A new approach is described first for discovering the correspondences across schema elements. Then, based on these simple correspondences, another approach is presented to discover more complex mapping rules that can actually transform data and queries across schemas. The key underpinning for these approaches is that they introduce the notion of query log mining to boost the accuracy of the mapping process.