This dissertation demonstrates how web mining, natural language processing, and machine learning can be combined to improve understanding of job openings by semantically segmenting the texts of their descriptions. To achieve this purpose, textual data were collected from three major job sites: Catho, LinkedIn and VAGAS.com.br. Based on the literature, this work proposes a simplified semantic structure in which each sentence of the job description can belong to one of these classes: Responsibilities, Requirements, Benefits and Others. With this idea, the semantic segmentation task can be rethought as a sentence segmentation followed by a classification. Using Python as a tool, some ways of constructing features from texts are tried out, both lexical and semantic, and four classic machine learning algorithms: Naïve Bayes, Logistic Regression, Support Vector Machine, and Random Forest. As a result, this work presents a classifier (Logistic Regression with binary representation) with 95.58% accuracy, without model overfitting and without degeneration by class unbalance, which is comparable to state-of-the-art for Text Classification. This classifier was trained and validated using Catho data, but was also tested on VAGAS.com.br (88.60%) and LinkedIn (91.14%) data, providing evidence that its learning is generalizable to data from other sites. In addition, the classifier was used for semantic segmentation of job openings and obtained a P k metric equals to 3.67% and a WindowDiff metric equals to 4.78%, which is comparable to state-of-the-art for Text Segmentation. Finally, it is worth highlighting two indirect contributions of this work: 1) a structure for thinking and analyzing job openings and 2) an indication that classical algorithms can also reach the state of the art and therefore should always be tried.