[PYTHON] Web-Scraping-Anfänger versuchten, einen Befehl zu erteilen, um den Filmnamen der Roadshow am nächsten Freitag zu erhalten

1. Übersicht

Es ist mühsam, jedes Mal im TV-Bereich nachzuschauen, was der Film dieser Roadshow am Freitag ist. Also fragte ich mich, ob ich den Filmnamen der Friday Roadshow mit einem Befehl mithilfe von Pythons Web Scraping vom Terminal des PCs abrufen könnte.

2. Ziel

Freitag Roadshow Website


...
<li>
  <div class="photo">
    <a href='/lineup/20170414'>
      <img src="https://dtg3yjoeemd2c.cloudfront.net/pic/lineup/20170414/photo01_p62bphcy8m.jpg " alt="Detective Conan: Ein rein schwarzer Albtraum" />
    </a>
  </div>
...
</li>

<li>
  <div class="photo">
    <a href='/lineup/20170421'>
      <img src="https://dtg3yjoeemd2c.cloudfront.net/pic/lineup/20170421/photo01_uyxdjywd.jpg " alt="Aschenputtel" />
    </a>
  </div>
...
</li>

<li>
  <div class="photo">
    <a href='/lineup/20170428'>
      <img src="https://dtg3yjoeemd2c.cloudfront.net/pic/lineup/20170428/photo01_9txwertpu3.jpg " alt="Wild Speed Sky Mission" />
    </a>
  </div>
...
</li>
...

3. Code

kinro.py


#coding:utf-8

import urllib.request
import datetime
from bs4 import BeautifulSoup


def func():
	html = urllib.request.urlopen("https://kinro.jointv.jp/lineup")
	soup = BeautifulSoup(html, "lxml")
	today = datetime.date.today()
	nextFriday = today + datetime.timedelta(days = (4 - today.weekday()) % 7)
	strnextFriday = nextFriday.strftime("%Y%m%d")
	a = soup.find_all("a", href = "/lineup/" + strnextFriday)
	tmp = a[0].find("img")
	title = tmp.attrs['alt']
	print(title)

if __name__ == '__main__':
    func()

Öffnen Sie ein Terminal und im selben Verzeichnis wie dieser Code.

$python kinro.py

Führen Sie den Befehl aus

Detective Conan: Ein rein schwarzer Albtraum#Innerhalb des 14. April 2017
Aschenputtel#15. April 2017~21 ..

Wenn der Titel des Films wie folgt angezeigt wird, ist er erfolgreich.

Natürlich in .barhrc

alias kinro='python ~/my_dir/kinro.py'  #Der Verzeichnisname entspricht der Umgebung

Wenn Sie diesen Befehl so definieren, können Sie den Filmnamen der Roadshow am kommenden Freitag mit einem Befehl von $ kinro in einem beliebigen Verzeichnis abrufen.

4. Codebeschreibung

4.1. Laden einer Webseite

Die ersten beiden Zeilen.

kinro.py(Teil)


html = urllib.request.urlopen("https://kinro.jointv.jp/lineup")
soup = BeautifulSoup(html, "lxml")

4.2. Holen Sie sich das Datum nächsten Freitag

Zeilen 3-5. Ich erhalte das heutige Datum und berechne die Differenz in Tagen von dort bis zum nächsten Freitag.

kinro.py(Teil)


today = datetime.date.today()
nextFriday = today + datetime.timedelta(days = (4 - today.weekday()) % 7)
strnextFriday = nextFriday.strftime("%Y%m%d")

4.3. Erfassung / Ausgabe des Filmnamens

Zeilen 6-9.

kinro.py(Teil)


a = soup.find_all("a", href = "/lineup/" + strnextFriday)
tmp = a[0].find("img")
title = tmp.attrs['alt']
print(title)

In Zeile 6

Freitag Roadshow Website


<a href='/lineup/20170414'>
  <img src="https://dtg3yjoeemd2c.cloudfront.net/pic/lineup/20170414/photo01_p62bphcy8m.jpg " alt="Detective Conan: Ein rein schwarzer Albtraum" />
</a>

Nehmen Sie den Teil von und weiter von dort in die 7. Zeile

Freitag Roadshow Website


<img src="https://dtg3yjoeemd2c.cloudfront.net/pic/lineup/20170414/photo01_p62bphcy8m.jpg " alt="Detective Conan: Ein rein schwarzer Albtraum" />

Von dort in die 8. Zeile

Detective Conan: Ein rein schwarzer Albtraum

Nur der Teil von wird herausgenommen.

5. Referenz-URL

5.1. In Bezug auf das Schaben

5.2. In Bezug auf Datumsmanipulation

Recommended Posts

Web-Scraping-Anfänger versuchten, einen Befehl zu erteilen, um den Filmnamen der Roadshow am nächsten Freitag zu erhalten
Ich habe eine Web-API erstellt
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Holen Sie sich den Songtitel aus dem Titel des von Ihnen gesungenen Videos
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ich habe Web Scraping versucht, um die Texte zu analysieren.
[Python] Ich habe versucht, den Typnamen als Zeichenfolge aus der Typfunktion abzurufen
Erstellen Sie einen Befehl, um das Arbeitsprotokoll abzurufen
Ich wollte die Anzahl der Zeilen in mehreren Dateien wissen und versuchte, sie mit einem Befehl abzurufen
[LPIC 101] Ich habe versucht, die Befehlsoptionen zusammenzufassen, die leicht zu Fehlern führen können
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
[Für Anfänger] Web-Scraping mit Python "Greifen Sie auf die URL auf der Seite zu, um den Inhalt abzurufen."
Ruft den Variablennamen der Variablen als Zeichenfolge ab.
[Linux] [C / C ++] So ermitteln Sie den Wert der Rücksprungadresse einer Funktion und den Funktionsnamen des Aufrufers
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
[Befehl] Befehl zum Abrufen einer Liste von Dateien mit Zeichen voller Breite
Um den Namen des Primitivs usw. zu erhalten, das unmittelbar zuvor generiert wurde
Ich habe versucht, eine Site zu erstellen, mit der die aktualisierten Informationen von Azure einfach angezeigt werden können
[Erstes Scraping] Ich habe versucht, einen VIP-Charakter für Smash Bra [Beautiful Soup] zu erstellen. [Zusätzlich Datenanalyse]
Aktienkurs mit "neuer Corona" gesunken? Ich habe versucht, den durchschnittlichen Aktienkurs von Nikkei durch Web-Scraping zu ermitteln
[Python] Ich habe versucht, mit argparse ein einfaches Programm zu erstellen, das in der Befehlszeile funktioniert
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
[Linux] Ich habe versucht, die Ressourcenbestätigungsbefehle zusammenzufassen
Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
[Los] Erstellen Sie einen CLI-Befehl, um die Erweiterung des Bildes zu ändern
So geben Sie das Ausgabeergebnis des Linux-Befehls man in eine Datei aus
So ermitteln Sie die Scheitelpunktkoordinaten eines Features in ArcPy
Ein Befehl zum einfachen Überprüfen der Netzwerkgeschwindigkeit auf der Konsole
Die Entwicklung einer Webanwendung ist noch weit entfernt
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
[Für Anfänger] Ich möchte den Index eines Elements erhalten, das einen bestimmten bedingten Ausdruck erfüllt
Django super Einführung von Python-Anfängern! Teil 2 Ich habe versucht, die praktischen Funktionen der Vorlage zu nutzen
Python VBA, um mit Selenium die gesamte WEB-Seite zu erfassen
Ich habe versucht, die Trefferergebnisse von Hachinai mithilfe der Bildverarbeitung zu erhalten
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Versuchen Sie, den Zustand der Straßenoberfläche mithilfe von Big Data des Straßenoberflächenmanagements zu ermitteln
[Persönliches Memo] Holen Sie sich Daten im Web und machen Sie daraus einen DataFrame
Ich habe versucht, das RSS des Top-Songs des iTunes Store automatisch abzurufen
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Ich habe versucht, das Ergebnis des A / B-Tests mit dem Chi-Quadrat-Test zu überprüfen
So erhalten Sie den "Namen" eines Feldes, dessen Wert durch das Auswahlattribut im Django-Modell begrenzt ist