static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.Red;
string sarkici, sarki;
Console.WriteLine("Sarkici:");
sarkici = Console.ReadLine();
Console.WriteLine("Sarki:");
sarki = Console.ReadLine();
var url = new Uri("https://www.musixmatch.com/search/" + sarkici + sarki);
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
var client = new WebClient();
client.Encoding = Encoding.UTF8;
client.Headers.Add("user-agent", Guid.NewGuid().ToString());
var html = client.DownloadString(url);
doc.LoadHtml(html);
var resultText = doc.DocumentNode.SelectSingleNode("/html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[1]/div[2]/div/ul/li/div/div[2]/div/h2");
Console.WriteLine(resultText.InnerHtml);
}
HtmlNode resultText = doc.DocumentNode.SelectSingleNode("/html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[1]/div[2]/div/ul/li/div/div[2]/div/h2");
string hrf = resultText.Attributes["href"].Value;
Console.WriteLine(hrf);
evet eminim buda çıktıResult text kısmını şöyle değiştirip denermisin
HtmlNode resultText = doc.DocumentNode.SelectSingleNode("/html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[1]/div[2]/div/ul/li/div/div[2]/div/h2"); string hrf = resultText.Attributes["href"].Value; Console.WriteLine(hrf);
Senin yerine denedim ama bunun doğru olması lazımdı, xpath aldığın elementte href olduğuna eminmisin?
o zaman href alacağımıza stringden hrefi ayıklatalım yani şöyleevet eminim buda çıktıEkli dosyayı görüntüle 67410 işaretlediğim gibi href var.
HtmlNode resultText = doc.DocumentNode.SelectSingleNode("/html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[1]/div[2]/div/ul/li/div/div[2]/div/h2");
string fullText = resultText.InnerHtml;
string[] splitlenmiş = fullText.Split(" ");
string bulundu="";
for (int i=0; i<splitlenmiş.Length; i++)
{
if (splitlenmiş[i].Contains("href"))
{
bulundu = splitlenmiş[i];
}
}
bulundu = bulundu.Remove(bulundu.IndexOf("<span"));
Console.WriteLine(bulundu);
string tamDonusturuldu = bulundu;
tamDonusturuldu= tamDonusturuldu.Replace("href=","");
tamDonusturuldu= tamDonusturuldu.Replace(">","");
tamDonusturuldu = tamDonusturuldu.Substring(1, tamDonusturuldu.Length - 1).Substring(0, tamDonusturuldu.Length - 2);
Console.WriteLine(tamDonusturuldu);
string urlX = "https://www.musixmatch.com" + tamDonusturuldu;
var prs = new ProcessStartInfo(@"C:\Program Files\Google\Chrome\Application\chrome.exe"); // kendi chrome yolunu yaz
prs.Arguments = urlX;
Process.Start(prs);
Eyvallah kral eve gidiyim denicemo zaman href alacağımıza stringden hrefi ayıklatalım yani şöyle
resultTextten de dahil şöyle değiştir
HtmlNode resultText = doc.DocumentNode.SelectSingleNode("/html/body/div[2]/div/div[2]/div/div/div/div[2]/div/div[1]/div[1]/div[2]/div/ul/li/div/div[2]/div/h2"); string fullText = resultText.InnerHtml; string[] splitlenmiş = fullText.Split(" "); string bulundu=""; for (int i=0; i<splitlenmiş.Length; i++) { if (splitlenmiş[i].Contains("href")) { bulundu = splitlenmiş[i]; } } bulundu = bulundu.Remove(bulundu.IndexOf("<span")); Console.WriteLine(bulundu); string tamDonusturuldu = bulundu; tamDonusturuldu= tamDonusturuldu.Replace("href=",""); tamDonusturuldu= tamDonusturuldu.Replace(">",""); tamDonusturuldu = tamDonusturuldu.Substring(1, tamDonusturuldu.Length - 1).Substring(0, tamDonusturuldu.Length - 2); Console.WriteLine(tamDonusturuldu); string urlX = "https://www.musixmatch.com" + tamDonusturuldu; var prs = new ProcessStartInfo(@"C:\Program Files\Google\Chrome\Application\chrome.exe"); // kendi chrome yolunu yaz prs.Arguments = urlX; Process.Start(prs);
bu sana href i verecek ve sadece href içi değeri verecek + chrome yolun seninde böyleyse chromede sayfayı açacak
Çalışıyor kanks bizzat denedim bunu geliştirip console ye şarkı sözlerini yazabilirsin yapacagin tek onunda xpath ini bulman ama formda selenium kullanarak daha çok şey yapabilirsinEyvallah kral eve gidiyim denicem
teşekkür ederim denedim ve sonuş aldım çalışıyor ilk selenium ile yapıcaktım ama onu daha az biliyorum .d ona geçicem bundan sonrada tekrardan teşekkür ederimÇalışıyor kanks bizzat denedim bunu geliştirip console ye şarkı sözlerini yazabilirsin yapacagin tek onunda xpath ini bulman ama formda selenium kullanarak daha çok şey yapabilirsin
kral ben gene yapamadım .d şimdide sözlerin xpathini aldım ama consola yazdırırken hata alıyorum InnerText olarak yazdırmaya çalıştım olmadı html olarak yapıncada olmadı ama sadece onu yazdırmaya çalışınca hata vermiyo ama bişeyde yazmıyoÇalışıyor kanks bizzat denedim bunu geliştirip console ye şarkı sözlerini yazabilirsin yapacagin tek onunda xpath ini bulman ama formda selenium kullanarak daha çok şey yapabilirsin
Kanks çalışıyorum eve gelince deniyecem olmazsa sana selenium ile yaparım sende inceler öğrenirsinkral ben gene yapamadım .d şimdide sözlerin xpathini aldım ama consola yazdırırken hata alıyorum InnerText olarak yazdırmaya çalıştım olmadı html olarak yapıncada olmadı ama sadece onu yazdırmaya çalışınca hata vermiyo ama bişeyde yazmıyo
al biladerim bunlarıda ekle tamamdırkral ben gene yapamadım .d şimdide sözlerin xpathini aldım ama consola yazdırırken hata alıyorum InnerText olarak yazdırmaya çalıştım olmadı html olarak yapıncada olmadı ama sadece onu yazdırmaya çalışınca hata vermiyo ama bişeyde yazmıyo
Console.ForegroundColor = ConsoleColor.White;
var newUrl = new Uri(urlX);
HtmlAgilityPack.HtmlDocument doc2 = new HtmlAgilityPack.HtmlDocument();
var client2 = new WebClient();
client2.Encoding = Encoding.UTF8;
client2.Headers.Add("user-agent", Guid.NewGuid().ToString());
var html2 = client2.DownloadString(newUrl);
doc2.LoadHtml(html2);
Console.WriteLine();
Console.WriteLine("---------------Sözler---------------");
Console.WriteLine();
HtmlNode sözler0 = doc2.DocumentNode.SelectSingleNode("//*[@id='site']/div/div/div/main/div/div/div[3]/div[1]/div/div/div/div[2]/div[1]/span/p/span");
Console.WriteLine(sözler0.InnerHtml);
HtmlNode sözler = doc2.DocumentNode.SelectSingleNode("//*[@id='site']/div/div/div/main/div/div/div[3]/div[1]/div/div/div/div[2]/div[1]/span/div/p/span");
Console.WriteLine(sözler.InnerHtml);
çok teşekkür ederim gerçekten oldu herşey ama bi sıkıntı var bazen bazı harfler ? olarak görünüyor türkçe karakterler değil normal karakterlerde ama bazı yerlerde oluyoal biladerim bunlarıda ekle tamamdır
Console.ForegroundColor = ConsoleColor.White; var newUrl = new Uri(urlX); HtmlAgilityPack.HtmlDocument doc2 = new HtmlAgilityPack.HtmlDocument(); var client2 = new WebClient(); client2.Encoding = Encoding.UTF8; client2.Headers.Add("user-agent", Guid.NewGuid().ToString()); var html2 = client2.DownloadString(newUrl); doc2.LoadHtml(html2); Console.WriteLine(); Console.WriteLine("---------------Sözler---------------"); Console.WriteLine(); HtmlNode sözler0 = doc2.DocumentNode.SelectSingleNode("//*[@id='site']/div/div/div/main/div/div/div[3]/div[1]/div/div/div/div[2]/div[1]/span/p/span"); Console.WriteLine(sözler0.InnerHtml); HtmlNode sözler = doc2.DocumentNode.SelectSingleNode("//*[@id='site']/div/div/div/main/div/div/div[3]/div[1]/div/div/div/div[2]/div[1]/span/div/p/span"); Console.WriteLine(sözler.InnerHtml);
Ornek fotoğraf lazım mesela hangi şarkıda felan anca oyle yardımcı olabilirimçok teşekkür ederim gerçekten oldu herşey ama bi sıkıntı var bazen bazı harfler ? olarak görünüyor türkçe karakterler değil normal karakterlerde ama bazı yerlerde oluyo
kanka yada boşver her şeyi sen yapıcanOrnek fotoğraf lazım mesela hangi şarkıda felan anca oyle yardımcı olabilirim
Kanka dc versene ilerde başka soruların olursa ordan yazarsın hem aklımda başka bisey var onu konuşuruz burda mesaj kısıtlaması oluyorkanka yada boşver her şeyi sen yapıcanorasınada ben uğraşayım genede yardımın için teşekkürler
Ruhqersa#8891Kanka dc versene ilerde başka soruların olursa ordan yazarsın hem aklımda başka bisey var onu konuşuruz burda mesaj kısıtlaması oluyor
string cikti = "<a class=\"title\" href=\"/lyrics/Rota-6/X-Ray\"><span>X-Ray</span></a>";
int firstIndex = cikti.IndexOf("href=\"") + "href=\"".Length;
int lastIndex = cikti.IndexOf("\"", firstIndex-1);
string result = cikti.Substring(firstIndex, lastIndex-2);
Console.Write(cikti + "\n" + result + "\n");
yardımın için teşekkür ederim ama bu kod sadece bir şarkı sözü için başka bir şarkı sözünü çıkaramaz hep aynı olur genede teşekkürler cevabın içinMerhaba, çok doğru bir çözüm değil ama iş görür.
C#:string cikti = "<a class=\"title\" href=\"/lyrics/Rota-6/X-Ray\"><span>X-Ray</span></a>"; int firstIndex = cikti.IndexOf("href=\"") + "href=\"".Length; int lastIndex = cikti.IndexOf("\"", firstIndex-1); string result = cikti.Substring(firstIndex, lastIndex-2); Console.Write(cikti + "\n" + result + "\n");
yardımın için teşekkür ederim ama bu kod sadece bir şarkı sözü için başka bir şarkı sözünü çıkaramaz hep aynı olur genede teşekkürler cevabın için
href="buranın içindeki kısmı ayırıyor" başka şarkı sözünde de çalışıyor yani arayı değiştirip denedim We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?