[Pour les débutants] Web scraping avec Python "Accédez à l'URL de la page pour obtenir le contenu"

introduction

Dernier examen

Ceci est une suite de l'article [Pour les débutants] Essayez le Web scraping avec Python. Dernière fois, Nikkei Business Electronic Version https://business.nikkei.com/ J'ai obtenu le titre et l'URL du nouvel article de.

Cependant, avec cela seul, vous pouvez le savoir en accédant réellement à cette URL.

But de cette fois

Lorsque vous parcourez le site d'actualités, si vous trouvez des actualités qui vous intéressent, cliquez dessus pour voir les détails. Les articles Nikkei Business, mais pas toutes les actualités, ont une introduction d'article d'environ 150 caractères qui donne envie de lire avant le contenu. En affichant ce contenu ensemble, vous pouvez l'utiliser comme base pour décider de lire l'article ou non. Il est difficile d'accéder à tous les articles un par un et de lire le texte d'introduction des articles. Nous ferons ressortir les bienfaits du scraping Web.

Révision du code précédent

code.py


import requests
from bs4 import BeautifulSoup
import re

urlName = "https://business.nikkei.com"
url = requests.get(urlName)
soup = BeautifulSoup(url.content, "html.parser")

elems = soup.find_all("span")

for elem in elems: 
  try:
    string = elem.get("class").pop(0)
    if string in "category":
      print(elem.string)
      title = elem.find_next_sibling("h3")
      print(title.text.replace('\n',''))
      r = elem.find_previous('a')
      #J'obtiens l'URL de l'article
      print(urlName + r.get('href'), '\n')

      #Écrivez un programme pour obtenir le texte d'introduction de l'article de la destination URL dans cette partie

  except:
    pass

Pour plus d'informations, consultez l'article précédent. Lorsque j'ai cliqué sur l'actualité, l'URL de transition était affichée et la dernière fois était terminée. Cette fois, accédez à cette URL pour obtenir le contenu.

la programmation

Tout d'abord, cette fois, nous allons transformer les requêtes et les parties BeautifulSoup en fonctions.

subFunc.py


import requests
from bs4 import BeautifulSoup

def setup(url):
  url = requests.get(url)
  soup = BeautifulSoup(url.content, "html.parser")
  return url, soup

main.py


import re
import subFunc

urlName = "https://business.nikkei.com"
url, soup = subFunc.setup(urlName)

elems= soup.find_all("span")

for elem in elems: 
  try:
    string = elem.get("class").pop(0)
    if string in "category":
      print('\n', elem.string)

      title = elem.find_next_sibling("h3")
      print(title.text.replace('\n',''))

      r = elem.find_previous('a')
      nextPage = urlName + r.get('href')
      print(nextPage)
      
      #Partie nouvellement écrite d'ici
      nextUrl, nextSoup = subFunc.setup(nextPage)
      abst = nextSoup.find('p', class_="bplead")
      if len(abst) != 0:
        print(abst.get_text().replace('\n',''))
  except:
    pass

Pour être honnête, ce que je fais est pareil. Obtenez des informations sur l'URL de destination à l'aide de requêtes et de Beautiful Soup. Dans le texte d'introduction de l'article, la classe était dans l'élément de bplead. Cependant, certains articles n'ont pas de texte d'introduction, j'ai donc essayé de les afficher s'ils le faisaient.

Le résultat de l'exécution est le suivant. (Omis)

Co-création / compétition / startup
La nouvelle couronne est une bataille à long terme xxxxxxxxxxx
https://business.nikkei.com/atcl/gen/19/00101/040100009/    
Il s'est plaint d'une nouvelle épidémie de virus corona xxxxxxxxxxxx.

à la fin

Quand je l'ai recherché, d'autres méthodes ont été introduites, mais j'ai essayé d'obtenir le contenu de la destination de transition avec une méthode simple.

Recommended Posts

[Pour les débutants] Web scraping avec Python "Accédez à l'URL de la page pour obtenir le contenu"
[Pour les débutants] Essayez le web scraping avec Python
Les débutants en Python sont bloqués dans leur premier scraping Web
[Part.2] Exploration avec Python! Cliquez sur la page Web pour vous déplacer!
Web scraping pour les débutants en Python (1)
Web scraping pour les débutants en Python (4) -1
Récupérez la source de la page à charger indéfiniment avec python.
[python, ruby] sélénium-Obtenez le contenu d'une page Web avec le pilote Web
Exportez le contenu de ~ .xlsx dans le dossier en HTML avec Python
[Note personnelle] Scraping de pages Web en python3
Python VBA pour obtenir une capture de la page WEB entière avec Selenium
Comment obtenir la différence de date et d'heure en secondes avec Python
Le moyen le plus rapide pour les débutants de maîtriser Python
[Python] Récupérez les fichiers dans le dossier avec Python
Essayez de calculer RPN avec Python (pour les débutants)
Comment obtenir les fichiers dans le dossier [Python]
[Introduction pour les débutants] Manipuler MySQL avec Python
J'ai recherché les compétences nécessaires pour devenir ingénieur web avec Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
[Pour les débutants] Comment utiliser la commande say avec python!
Web scraping pour les débutants en Python (1) Version améliorée
Analyse de données pour améliorer POG 1 ~ Web scraping avec Python ~
Comment obtenir le nombre de chiffres en Python
Convertissez l'image au format .zip en PDF avec Python
Obtenez des résultats au format dict avec Python psycopg2
J'étais accro au grattage avec Selenium (+ Python) en 2020
Essayez d'obtenir le contenu de Word avec Golang
Obtenez l'URL de la destination de la redirection HTTP en Python
Scraping Web pour débutants avec Python (4) --2 Scraping sur Cloud Shell
Obtenez AccessToken pour le compte de service avec le SDK Firebase Admin Python
Après avoir frappé l'API Qiita avec Python pour obtenir une liste d'articles pour les débutants, nous visiterons les articles divins
Web scraping avec python + JupyterLab
Grattage avec chromedriver en python
Grattage avec du sélénium en Python
Grattage avec Tor en Python
Web scraping débutant avec python
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Essayez de gratter les données COVID-19 Tokyo avec Python
Code de test pour vérifier les liens brisés dans la page
Connaissances minimales pour démarrer avec le module de journalisation Python
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
[IPdb] Les débutants en développement Web ont tenté de résumer le débogage avec Python
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Je n'arrive pas à me connecter à la page d'administration avec Django 3
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image par eux-mêmes
Pour les débutants, comment gérer les erreurs courantes dans les keras
Comment entrer dans l'environnement de développement Python avec Vagrant
Enregistrer des images sur le Web sur un lecteur avec Python (Colab)
[Introduction à Python] Comment obtenir des données avec la fonction listdir
J'ai créé une classe pour obtenir le résultat de l'analyse par MeCab dans ndarray avec python
Obtenez de manière récursive la liste Excel dans un dossier spécifique avec python et écrivez-la dans Excel.
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Lien pour commencer avec python
Scraping avec Selenium en Python (Basic)
Grattage WEB avec BeautifulSoup4 (page en couches)
Obtenez le chemin du bureau en Python