Ich versuche, die Youtube Wasserzeichen ein Element href kratzen, aber ich kann nicht scheinen, es zu greifen .Ich bekomme Fehler wie 'ResultSet' Objekt hat kein Attribut 'Get' und 'NoneType' Objekt hat kein Attribut 'Get'
wenn ich versuche,
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find_all('a', {'class': 'ytp-watermark'})
entries = video_row.get('href')
return entries
I
'ResultSet' object has no attribute 'get'
bekommen Wenn ich versuche,
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find('a', {'class': 'ytp-watermark'})
entries = video_row.get('href')
return entries
ich
'NoneType' object has no attribute 'get'
Wenn ich
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find('a', {'target': '_blank'})
entries = video_row.get('href')[24]
return entries
versuchen bekomme ich ein einzelnes Zeichen
's'
wenn ich versuche,
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find('a', {'target': '_blank'})[24]
entries = video_row.get('href')
return entries
i
24
, wenn ich versuche,
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find('a', {'target': '_blank'})[24:]
entries = video_row.get('href')
return entries
ich
unhashable type: 'slice'
wenn ich versuche,
def panties():
from lxml import html
pan_url = 'http://www.panvideos.com'
shtml = requests.get(pan_url, headers=headers)
soup = BeautifulSoup(shtml.text, 'html5lib')
video_row = soup.find_all('div', {'class': 'video'})
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find('a', {'target': '_blank'})
entries = [{'text': div.get('href'),
} for div in video_row][24]
return entries
I
'NavigableString' object has no attribute 'get'
, wenn i
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find_all('a', {'class': 'ytp-title-link'})
entries = [{'text': div.get('href'),
} for div in video_row]
return entries
versuchen
ich
[]
Wenn ich das Chrom inspizieren und schweben über dem Wasser Zeichen verwenden bekomme ich
<a class="ytp-watermark yt-uix-sessionlink" target="_blank" aria-label="Watch on www.youtube.com" data-sessionlink="feature=player-watermark" href="https://www.youtube.com/watch?v=Xjww1pgKgnU" data-layer="7">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" height="100%" version="1.1" viewBox="0 0 77 34" width="100%">
........
</svg>
</a>
aber wenn ich die Suche Fähigkeit prüfen und Art verwenden _blank ich
<a class="ytp-title-link yt-uix-sessionlink" target="_blank" data-sessionlink="feature=player-title" href="https://www.youtube.com/watch?v=Xjww1pgKgnU">
<span class="ytp-title-playlist-icon" style="display: none;">
.....
</span>
<span>Packer Luther King Feat Mgp the Saw -BIEN MALA (Video Oficial)</span></a>
keiner von diesen gibt Ergebnisse zurück. Ist meine Syntax falsch? Jede Hilfe wird
das ist meine ganze Funktion
def panties():
from lxml import html
pan_url = 'http://www.panvideos.com'
shtml = requests.get(pan_url, headers=headers)
soup = BeautifulSoup(shtml.text, 'html5lib')
video_row = soup.find_all('div', {'class': 'video'})
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find('a', {'class': 'ytp-title-link yt-uix-sessionlink'})
entries = [{'text': div.get('href'),
} for div in video_row]
return entries
entries = [{'text': div.h4.text,
'href': div.a.get('href'),
'tube': youtube_link(div.a.get('href')),
} for div in video_row][:1]
return entries
Es gefüttert wird eine URL zu erkennen ist, verwendet diese URL als eine Möglichkeit, um die Detailseite zu gelangen und von dieser Seite, dass Informationen erhalten und es zurück. Aus irgendeinem Grund wird ein Link als None zurückgegeben. Wenn ich versuche alles zu finden oder finde es wird kein einziges Element zurückgeben. Aber wenn ich nach h1 suche, wird es funktionieren.
EDIT Ich habe versucht, verschiedene Parser
html.parser, lxml und html5lib
EDIT:
Ich glaube, die Daten nicht gekratzt werden, weil sie aus dem Media-Player kommt. wenn ich
tatvideo_row = soupdata.find_all('body')
die Daten, die ich suchte nicht erschienen. Also ich bin es nicht, und ich glaube nicht, dass es ein Käfer ist oder irgendetwas, das nicht mit den üblichen Mitteln erhältlich ist. Link-Tags Meta-Tags und einige andere Tags können nicht erfasst werden.
Wenn 'soupdata.find_all()' 'kehrt []', das bedeutet, dass das Element nicht existiert in dem Dokument. Möglicherweise wird das Wasserzeichen dynamisch mithilfe von JavaScript hinzugefügt. In diesem Fall wird es in Chrome angezeigt, nicht jedoch in dem mit 'requests.get()' heruntergeladenen Dokument. – Alasdair