There are specific elements of HTML to handle this situation. Using
canonical to indicate that your page contains much content from another web would literally make your page undiscoverable through Google.
Blockquote + cite
The blockquote element represents content that is quoted from another
source, optionally with a citation which must be within a footer or
cite element, and optionally with in-line changes such as annotations
The cite element represents a reference to a creative work. It must
include the title of the work or the name of the author (person,
people or organization) or an URL reference, or a reference in
abbreviated form as per the conventions used for the addition of
cite element to give proper attribution of the text to an author and a link to the author or source.
The people recognize themselves in their commodities; they find their
soul in their automobile, hi-fi set, split-level home, kitchen equipment.
— <cite><a href="https://en.wikipedia.org/wiki/Herbert_Marcuse">Herbert Marcuse</a></cite>
q + cite
The q element represents some phrasing content quoted from another
Explicit citation link in and outside the q element:
<p>The W3C page <cite>About W3C</cite> says the W3C’s
mission is <q cite="https://www.w3.org/Consortium/">To lead the
World Wide Web to its full potential by developing protocols and
guidelines that ensure long-term growth for the Web</q>. I
disagree with this mission.</p>
Examples and citations are from HTML5 specification: blockquote, q.