• 16-07-2022, 19:24:55
    #1
    link
    https://www.youtube.com/watch?v=oqyangMGVjA
    Gizli video
    yazısını çekmek istiyorum. Normal BeautifulSoup ile yapamadım.
    Birde BeautifulSoup Xpath ile yapayım dedim.

    from bs4 import BeautifulSoup
    from lxml import etree
    import requests
      
      
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }
    
    response = requests.get("https://www.youtube.com/watch?v=oqyangMGVjA", headers=headers)
    soup = BeautifulSoup(response.content, "html.parser")
    dom = etree.HTML(str(soup))
    print(dom.xpath('//*[@id="reason"]')) # Boş değer döndürüyor
  • 16-07-2022, 19:35:22
    #2
    hocam xpathi ayarlarken herhangi bir frame içinde mi kontrol edin isterseniz. frame içindeyse eğer, direk xpath yazınca bulamıyor. önce frame'e girmesi sonra o xpathi bulması lazım
  • 16-07-2022, 19:39:39
    #3
    Xpath yolu yanlış olabilir. Bunu deneyin.
    //*[@id="contents"]/ytd-background-promo-renderer/div[1]/yt-formatted-string
  • 16-07-2022, 19:40:31
    #4
    soup.find('div',{'id':'reason'})
  • 18-07-2022, 03:15:42
    #5
    A.AY adlı üyeden alıntı: mesajı görüntüle
    link
    https://www.youtube.com/watch?v=oqyangMGVjA
    Gizli video
    yazısını çekmek istiyorum. Normal BeautifulSoup ile yapamadım.
    Birde BeautifulSoup Xpath ile yapayım dedim.

    from bs4 import BeautifulSoup
    from lxml import etree
    import requests
      
      
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }
    
    response = requests.get("https://www.youtube.com/watch?v=oqyangMGVjA", headers=headers)
    soup = BeautifulSoup(response.content, "html.parser")
    dom = etree.HTML(str(soup))
    print(dom.xpath('//*[@id="reason"]')) # Boş değer döndürüyor
    ilgili veri JavaScript ile yükleniyor.

    html body içerisinden json verisini alıp onu ayrıştırmanız gerekli

  • 18-07-2022, 21:05:01
    #6
    Eğer Javascript işin içine giriyorsa selenium ile kodlamanızı öneririm. Tarayıcınaza "Selenium IDE" eklentisini yükleyin, yapacağınız her tıklama ve hareketi kayıtedip python scriptine dönüştürüyor. Sonrası size kalmış. Pc de kullandığınız tarayıcıya göre driver indirin headless modu ile arkaplanda tıklamaları yapın.
  • 19-07-2022, 00:51:40
    #7
    aliminik adlı üyeden alıntı: mesajı görüntüle
    Eğer Javascript işin içine giriyorsa selenium ile kodlamanızı öneririm. Tarayıcınaza "Selenium IDE" eklentisini yükleyin, yapacağınız her tıklama ve hareketi kayıtedip python scriptine dönüştürüyor. Sonrası size kalmış. Pc de kullandığınız tarayıcıya göre driver indirin headless modu ile arkaplanda tıklamaları yapın.
    Teşekkürler. Güzel fikir