Das grundlegende Daten-Crawling wurde bereits früher eingeführt, und die relevanten Fälle des Bild-Crawlings wurden auch im vorherigen Artikel behandelt. In Bezug auf das Problem, dass die Website in einigen Fällen nicht angemeldet werden kann, können Sie einige andere Websites finden, da dies jetzt der Grund ist Tatsächlich ist jede Website gleich, sie verfügt über einen Anti-Kletter-Mechanismus, daher gibt es natürlich eine Möglichkeit, damit umzugehen. Im folgenden Fall werde ich Ihnen auch eine Fall-Website als Referenz zum Lernen geben. Folgen Sie mir für kontinuierliche Updates!
1. Fall-Website
Website-Link: selbst gemeldete
Seitenreferenz:
2. Gedankenanalyse
1. Holen Sie sich die m3u8-Datei
— Die m3u8- Datei zerlegt das Video in Fragmente. Die Dauer ist variabel und im Allgemeinen kurz. Sie können den entsprechenden Link zur TS- Datei erhalten, indem Sie die m3u8-Datei abrufen und dann das fragmentierte Video herunterladen. Sie müssen jedoch ein Tool eines Drittanbieters verwenden um das Video später einzubinden. Videoclips werden im gesamten Video wiederhergestellt.
2. Laden Sie das TS-Video herunter
Das erhaltene m3u8 wird über die Python-Funktion verarbeitet, um eine Zeichenfolgenverarbeitung durchzuführen und Videoclips einzeln herunterzuladen. Das Video wird im Binärformat gespeichert, daher sollte beim Herunterladen die .content-Methode zum Herunterladen verwendet werden, schließlich ist das MP4-Format Wird zur dauerhaften Speicherung verwendet.
3. Schrittanalyse und Ergebnisanzeige
Hier erkläre ich Ihnen meine eigene Methode. Sie können zunächst das Paketerfassungstool verwenden, um Videoelemente abzurufen, und Sie können feststellen, dass sich die meisten davon im Video-Tag befinden. Zu diesem Zeitpunkt können Sie überprüfen, ob ein Video-Tag vorhanden ist Der Quellcode der Webseite. Im Allgemeinen wird dies nicht der Fall sein. Sie können es ausprobieren, damit Sie es besser verstehen können.
Daher wird das Video über Ajax geladen, sodass Sie im Tag „<script.>“ nach dem Video suchen können und zu diesem Zeitpunkt möglicherweise etwas erhalten. Darüber hinaus können Sie das Paketerfassungstool durchsuchen. In diesem Fall Die zweite Methode wird übernommen, da
dieser Fall 1 nicht funktioniert
Allgemeines Format der m3u8-Datei (Folgeartikel zum verschlüsselten Format erklärt die Entschlüsselung)
Es kann festgestellt werden, dass der Link der TS-Datei nicht vollständig ist, aber analysiert werden kann:
Die Analyse wurde im Bild dargestellt:
Ergebnisanzeige:
PyCharm Open ist verstümmelt
Suchen Sie den Root-Pfad zum Öffnen von
1.ts
Sie können versuchen, die erhaltenen Videoclips selbst zu synthetisieren. Der Code ist unten angegeben
4. Vollständige Codeanzeige (bewegen Sie Ihre kleinen Hände dreimal, das Codewort ist bitte nicht einfach!)
import requests
url="https://v8.dious.cc/20221223/2jfDSrly/1500kb/hls/index.m3u8"
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.52"
}
n=1
response=requests.get(url=url,headers=headers)
with open("侍酒令第一集.txt","wb") as fp:
fp.write(response.content)
with open("侍酒令第一集.txt",mode="r",encoding="utf-8") as fp:
for line in fp:
line=line.strip()
if line.startswith("#"):
continue
last_tspath="https://v8.dious.cc"+line
resp3=requests.get(last_tspath)
f=open(f"{
n}.ts",mode="wb")
f.write(resp3.content)
n+=1