Grattage avec chromedriver en python

environnement

Chose que tu veux faire

Pour racler des articles Web anti-grattage Je veux gratter en utilisant le pilote chrome sans tête avec python

Connaissances préalables

  1. À propos du pilote de navigateur En bref, il semble que ce soit un outil nécessaire pour gérer le navigateur avec CUI au lieu de GUI.

  2. Relation entre le serveur DNS et les hôtes locaux Lorsque nous accédons à partir du nom de domaine avec un navigateur, il demande au serveur DNS ces informations, retourne sous forme d'adresse IP et le PC l'utilise pour accéder au site Web et le site s'affiche avec le navigateur. Cependant, si vous mettez le domaine et l'adresse IP dans le fichier hosts du Mac, vous pouvez obtenir l'adresse IP sans vous connecter au serveur DNS.

Article de référence [Selenium et Google Spreadsheets (4) "Jusqu'à ce que vous commenciez à utiliser le pilote Chrome" (https://bitwave.showcase-tv.com/selenium%E3%81%A8google-spreadsheets4-%E3%80%8Cchrome-driver%E3 % 82% 92% E4% BD% BF% E3% 81% 84% E3% 81% AF% E3% 81% 98% E3% 82% 81% E3% 82% 8B% E3% 81% BE% E3% 81 % A7% E7% B7% A8% E3% 80% 8D /) Cet article sur le serveur DNS, [Illustration] Qu'est-ce qu'un serveur DNS? Comment définir / modifier et vérifier Cet article est recommandé pour les fichiers hôtes. Comment réécrire / éditer les fichiers hôtes sur Mac! Que dois-je faire si cela n'est pas reflété?

Préparation

Vérifiez le contenu du fichier hosts

Ouvrez le fichier.

$sudo vi /etc/hosts

Ensuite, vérifiez que le contenu du fichier hosts ressemble à ceci.

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Installez également la même version du pilote que la version chrome incluse dans l'application depuis le site sélénium. (Dans mon cas, c'était 78.0.3904.97.) ChromeDriver - WebDriver for Chrome

Code source

# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
if __name__ == '__main__':
    base = "URL du site grattée"
    options = Options()
    #désignation sans tête
    options.add_argument('--headless')
    driver = webdriver.Chrome(executable_path='Chemin absolu vers le répertoire où se trouve le pilote Chrome', chrome_options=options)
    driver.get(url)
    #Encoder
    html = driver.page_source.encode('utf-8')
    #Instanciation
    soup = BeautifulSoup(html, 'html.parser')

J'utilise habituellement urllib.request Il peut être possible de le résoudre en utilisant ce sélénium pour les sites anti-grattage !

Recommended Posts

Grattage avec chromedriver en python
Grattage au sélénium en Python
Grattage avec du sélénium en Python
Grattage avec Tor en Python
Grattage avec Python
Grattage avec Python
Scraping avec Selenium en Python (Basic)
Grattage avec Python, Selenium et Chromedriver
Grattage en Python (préparation)
Essayez de gratter avec Python.
Grattage avec Python + PhantomJS
Grattage avec du sélénium [Python]
Scraping avec Python + PyQuery
Scraping RSS avec Python
Réalisez le scraping avec le sélecteur Python et CSS en 1 minute
J'ai essayé de gratter avec Python
Web scraping avec python + JupyterLab
Grattage avec Selenium + Python Partie 1
Exploitez LibreOffice avec Python
Grattage festif avec Python, scrapy
Débogage avec pdb en Python
Gérer les sons en Python
Tweet avec image en Python
Combiné avec ordinal en Python
Scraping prévisions météorologiques avec python
Grattage avec Selenium + Python Partie 2
J'ai essayé de gratter avec du python
Web scraping débutant avec python
J'étais accro au grattage avec Selenium (+ Python) en 2020
[Scraping] Scraping Python
Reconnaissance des nombres dans les images avec Python
Essayez de gratter avec Python + Beautiful Soup
Tester avec des nombres aléatoires en Python
Scraping avec Node, Ruby et Python
GOTO en Python avec Sublime Text 3
Travailler avec LibreOffice en Python: import
Analyse CSS avec cssutils en Python
Web scraping avec Python Première étape
J'ai essayé webScraping avec python.
Grattage avec Python et belle soupe
Numer0n avec des objets fabriqués avec Python
Ouvrez UTF-8 avec BOM en Python
Gratter avec une belle soupe en 10 minutes
Utiliser rospy avec virtualenv dans Python3
Faisons du scraping d'images avec Python
Utiliser Python mis en pyenv avec NeoVim
Heatmap avec dendrogramme en Python + matplotlib
Obtenez les tendances Qiita avec le scraping Python
Lire des fichiers en parallèle avec Python
Générer un mot de passe pour le manuel avec python
Utiliser OpenCV avec Python 3 dans Window
Jusqu'à traiter de python dans Atom
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
Démarrez avec Python avec Blender
Obtenez des informations météorologiques avec Python et le grattage
Travailler avec des images DICOM en Python
Essayez de gratter les données COVID-19 Tokyo avec Python
Écrire de la documentation dans Sphinx avec Python Livereload
Obtenez des données supplémentaires vers LDAP avec python