[PYTHON] Ich habe versucht, die Werbung für die Raubkopien-Website zu kratzen

Hintergrund

Ein Freund, der einen Manga auf einer raubkopierten Manga-Site namens manga1001.com liest "Es gibt viele radikale Anzeigen, die ich draußen nicht sehen kann, und wenn ich Adblock verwende, erhalte ich eine Warnung." Ich sagte, also lass es uns löschen! Ich dachte.

Hinweis

Wenn Sie etwas Ähnliches wie diesen Artikel tun,

Bitte seien Sie vorsichtig. Sie können schuldig sein.

Methode

  1. Geben Sie eine beliebige URL in manga1001.com ein
  2. Öffnen Sie Chrome
  3. Holen Sie sich das src von img
  4. Erstellen Sie eine HTML-Datei
  5. Schreiben Sie das erhaltene "src" als "img"
  6. Öffnen Sie die HTML-Datei

Quellcode

Ich verwende Chrome Canary, damit es in Ordnung ist, wenn es kaputt geht.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import chromedriver_binary
from time import sleep

#Pfad zur Ausgabe der generierten HTML-Datei
output_path = '/Users/hoge/fuga/'

#Webdriver-Optionen
options = Options()
#Geben Sie den Pfad von Google Chrome Canary an
options.binary_location = '/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary'
#Geben Sie die Größe des Fensters an
options.add_argument('window-size=1600,900')

#Fragen Sie nach der URL der Seite, auf der Sie die Anzeige entfernen möchten
url = input('enter url: ')

#Starten Sie Chrome
driver = webdriver.Chrome(options=options)
driver.get(url)

#Warten Sie einen Moment, bis die Seite JavaScript ausgeführt hat
sleep(3)

#Titel holen
title = driver.find_elements_by_class_name('entry-title')[0].text

#Holen Sie sich WebElement des img-Elements als Array
contents = driver.find_elements_by_css_selector('.entry-content figure img')

#Weisen Sie der Ausgabe der Ausgabevariablen eine Zeichenfolge zu, die als HTML angezeigt werden soll
output = '''
<!DOCTYPE html>
<html>
<head>
<style>
body{
  background-color:#333;
}
img{
  display: block;
  margin: 10px auto;
  width: 100%;
  max-width: 600px;
  box-shadow: 0 0 10px black;
}
</style>
</head>
<body>
'''

#Fügen Sie das src-Attribut des erfassten img-Elements hinzu, um es als Bild auszugeben
for content in contents:
  output += '<img src="{}"/>'.format(content.get_attribute('src'))

#Fügen Sie der Ausgabe ein schließendes Tag hinzu
output += '</body></html>'

#Erstellen Sie eine HTML-Datei mit dem Titelnamen und schreiben Sie die Ausgabe
with open('{0}{1}.html'.format(output_path, title), 'w', encoding='utf-8') as f:
  f.write(output)

#Öffnen Sie die erstellte HTML-Datei
driver.get('file://{0}{1}.html'.format(output_path, title))

Was wurde gemacht

manga1001.com_scraping.gif

Impressionen

Ich konnte den Inhalt der überfüllten Site durch Schaben ordentlich organisieren. Auch hier werde ich es nicht selbst verwenden und ich habe dieses Programm keinem Freund gegeben. Ich wollte nur kratzen! Lol

Recommended Posts

Ich habe versucht, die Werbung für die Raubkopien-Website zu kratzen
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Ich habe den asynchronen Server von Django 3.0 ausprobiert
Ich habe versucht zu kratzen
Ich habe die Pivot-Table-Funktion von Pandas ausprobiert
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ich habe versucht, den Bildfilter von OpenCV zu verwenden
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Ich habe das MNIST-Tutorial von tensorflow für Anfänger ausprobiert.
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
Ich habe versucht, den negativen Teil von Meros zu löschen
Die endgültige Ausgabe von Python Scraping! (Zielort: Große Kamera)
Ich habe die einfachste Methode zur Klassifizierung von Dokumenten mit mehreren Etiketten ausprobiert
Ich habe versucht, die Stimmen der Sprecher zu klassifizieren
Ich habe versucht, den Beispielcode des Ansible-Moduls auszuführen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, mit Python zu kratzen
Scraping das Ergebnis von "Schedule-Kun"
Ich habe die Changefinder-Bibliothek ausprobiert!
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
[Pferderennen] Ich habe versucht, die Stärke des Rennpferdes zu quantifizieren
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich habe versucht, das CNN-Modell von TensorFlow mit TF-Slim umzugestalten
Ich habe versucht, das Lachproblem mit Keras zu erkennen.
Ich habe versucht, den allgemeinen Kommentar des verdammten Spiels des Jahres morphologisch zu analysieren
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Die reCAPTCHA-Site wird täglich automatisch abgekratzt (6/7: Containerisierung)
Täglich automatisch die reCAPTCHA-Site abkratzen (5/7: 2captcha)
Automatische tägliche Überprüfung der reCAPTCHA-Site (4/7: S3-Dateiverarbeitung)
Kratzen Sie die reCAPTCHA-Site jeden Tag automatisch ab (1/7: Aufbau der Python-Umgebung)
Automatische tägliche Überprüfung der reCAPTCHA-Site (3/7: xls-Dateiverarbeitung)
Die endgültige Ausgabe von Python Scraping! (Zielort: Große Kamera)
Ich habe versucht, die Werbung für die Raubkopien-Website zu kratzen
Grundlagen der Python-Scraping-Grundlagen
Ich habe ein wenig versucht, das Verhalten der Zip-Funktion
[Maschinelles Lernen] Ich habe versucht, die Theorie von Adaboost zusammenzufassen
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe versucht, das lokale Minimum der Goldstein-Preis-Funktion zu bekämpfen
Ich habe den Chat von YouTube Live angezeigt und versucht zu spielen
[Linux] Ich habe versucht, die Ressourcenbestätigungsbefehle zusammenzufassen
Ich habe versucht, eine Site zu erstellen, mit der die aktualisierten Informationen von Azure einfach angezeigt werden können
Ich habe das TensorFlow-Tutorial als erstes ausprobiert
Ich habe die Naro-Roman-API 2 ausprobiert
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe versucht, WebScraping mit Python.
Ich habe versucht, das SD-Boot-Image von LicheePi Nano zu erstellen
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe es herausgefunden, indem ich die Bewertungen der Website für Jobwechsel analysiert habe! ??
Ich habe das 2. TensorFlow-Tutorial ausprobiert
Ich habe mir die Metainformationen von BigQuery angesehen und versucht, sie zu verwenden
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Ich habe die neuartige API von Naruro ausprobiert
Ich habe versucht, den DNN-Teil von OpenPose mit Chainer-CPU auszuführen
Ich habe versucht, die häufig verwendete Implementierungsmethode von pytest-mock zusammenzufassen
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe versucht, den allgemeinen Zustand der VTuber-Kanalbetrachter zu visualisieren
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, den Abschnitt zu schätzen.
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren