@Djonson86
Нечем похвастаться.

Как в Golang можно парсить сайты, и вытаскивать нужный текст, когда он в таблице?

Надо спарсить с сайта вакансии. Обычно это div-ы с классами, а в этом случае все в таблице. С дивами проще, делаю примерно так
res, err := http.Get(VacancyUrl)
	if err != nil {
		log15.Error("getting response body with error", log15.Ctx{
			"url": VacancyUrl,
			"err": err,
		})
		return
	}
	defer res.Body.Close()

	if res.StatusCode != 200 {
		log15.Error("getting bed status code error", log15.Ctx{
			"url": VacancyUrl,
			"err": err,
		})
	}

	// Load the HTML document
	doc, err := goquery.NewDocumentFromReader(res.Body)
	if err != nil {
		log15.Error("getting response body with error", log15.Ctx{
			"url": VacancyUrl,
			"err": err,
		})
	}

	// Find the review items
	doc.Find(".vacancy__item").Each(func(i int, s *goquery.Selection) {
		VacancyName := s.Find(".vacancy__name").Text()
		SeniorLevel, MainTechnology := vacancy.SetSeniorLevelAndMainTechnology(VacancyName)
		City := s.Find(".vacancy__city").Text()
		Technologies := " "
		link := VacancyUrl


А как быть если там таблица примерно такого вида?

<tr>
<td style="width: 130.219px; text-align: left; vertical-align: top;">
<p><strong>Специалист контакт-центра</strong></p>
<p>&nbsp;</p>
<p>(Днепр, ул. Старокозацкая, 37)</p>
</td>
<td style="width: 108.219px; text-align: left; vertical-align: top;">
<p>Отдел клиентской поддержки</p>
</td>
<td style="width: 191.219px; text-align: left; vertical-align: top;" colspan="2">
<ul style="margin-top: 0px;">
<li style="margin-bottom: 5px;">Общение с клиентами &ndash; юридическими лицами в мессенджерах и по телефону.</li>
<li style="margin-bottom: 5px;">Качественная консультация клиента.</li>
<li style="margin-bottom: 5px;">Решение вопроса клиента с первого обращения</li>
</ul>
</td>
<td style="width: 204.219px; text-align: left; vertical-align: top;" colspan="2">
<ul style="margin-top: 0px;">
<li style="margin-bottom: 5px;">От 20 лет.</li>
<li style="margin-bottom: 5px;">Возможность работать в ночную смену.</li>
<li style="margin-bottom: 5px;">Опыт работы в call-center &ndash; от 1 года.</li>
</ul>
</td>
</tr>
<tr>
<td style="width: 130.219px; text-align: left; vertical-align: top;">
  • Вопрос задан
  • 956 просмотров
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
Если просто текст извлечь, то
https://kananrahimov.com/post/golang-html-tokenize...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы