Ну и правильно делает, что выводит весь сайт. Вы же запрашиваете по ссылке весь html и потом его выводите целиком.
А процесс написания парсера "без библиотек" приведет к тому, что вы напишете самодельные библиотеки. Причем шансы того, что они будут лучше конкурентов, стремятся к нулю.
И я вам по секрету скажу: cURL - это тоже библиотека. Перепишете может и ее на сокетах с нуля?