Yardım Merkezindeki Cevaplanmamış Konuları Çekmek

0x1D

Kıdemli Üye
23 Nis 2020
2,652
78
MARS
Dünkünün pembesi

Kod:
package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"regexp"
	"strings"

	"golang.org/x/text/encoding/charmap"
)

func main() {
	fmt.Println(yardimmerkezi())
}

func postint(text string) string {
	new := strings.Split(text, ",")[0]
	new = strings.Split(new, " ")[1]
	return new
}

func yardimmerkezi() []string {
	client := http.Client{}
	hostName := "https://www.turkhackteam.org/tht-yardim-merkezi/"

	req, _ := http.NewRequest("GET", hostName, nil)
	req.Header.Add("User-Agent", "Mozilla/5.0")

	resp, _ := client.Do(req)

	defer resp.Body.Close()

	body, _ := ioutil.ReadAll(resp.Body)

	decoder := charmap.ISO8859_9.NewDecoder()
	iso_body, _ := decoder.Bytes(body)

	myRegexLink := regexp.MustCompile(`href="([^"]+)" id="thread_title_[0-9]+"`)
	links := myRegexLink.FindAllSubmatch(iso_body, -1)

	myRegex := regexp.MustCompile(`class="alt2" title="(.*?)"`)
	posts := myRegex.FindAllSubmatch(iso_body, -1)

	myRegexDate := regexp.MustCompile(`<div class="mob-date-thread"[^>]*>(.*?)</div>`)
	dates := myRegexDate.FindAllSubmatch(iso_body, -1)

	var result []string

	for i := 12; i < len(links); i++ {
		uri := string(links[i][1])
		post := string(postint(string(posts[i][1])))
		date := string(dates[i][1])

		ka := strings.Contains(date, "önce")
		if !ka {
			return result
		}
		if post == "0" {
			result = append(result, uri)
		}
	}
	return result
}

Python :https://www.turkhackteam.org/python/1957653-yardim-merkezindeki-cevaplanmamis-konulari-cekmek.html
 

Minuteman

Üye
29 Kas 2020
96
1
eline sağlık. tht'nin rss feed'i var diye biliyorum. yardım merkezinin rss feed'ini çekip parse etmek daha sağlıklı olur. öyle bir program da bekliyoruz. adı da "çekici" olsun :)
 

0x1D

Kıdemli Üye
23 Nis 2020
2,652
78
MARS
eline sağlık. tht'nin rss feed'i var diye biliyorum. yardım merkezinin rss feed'ini çekip parse etmek daha sağlıklı olur. öyle bir program da bekliyoruz. adı da "çekici" olsun :)

Rss'de atılan post sayısı gözükmüyor, tarih kısmında da x saat önce gibi bir gösterim yok, direkt tarih saat vermiş.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.