Grattage WEB avec BeautifulSoup4 (page du numéro de série)

Grattage WEB avec Beutiful Soup 4

J'ai écrit un code pour créer une liste d'URL à télécharger en même temps sur une page avec des numéros de série d'URL courantes, alors prenez note

Installation

$ apt-get install lxml-python
$ pip install beautifulsoup4

La source

scraper.py


# -*- coding: utf-8 -*-

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

try:
    # Python 3
    from urllib import request
except ImportError:
    # Python 2
    import urllib2 as request

from bs4 import BeautifulSoup
import codecs
import time

def getSoup(url):
    response = request.urlopen(url)
    body = response.read()
    # Parse HTML
    return BeautifulSoup(body, 'lxml')

wait_sec = 3
domain = 'http://hoge.com'
result_file = 'list.txt'
i = 1
while(True):
    url = '{domain}/{index:0>2}/'.format(domain = domain, index = i)
    try:
        soup = getSoup(url)
    except IOError:
        break

    div = soup.find('div', attrs = {'id': 'div_id'})
    all_a = div.find_all('a', attrs = {'class': 'a_class'})
    src_list = []
    for a in all_a:
        src_list.append(a.img['src'])
    with codecs.open(result_file, 'a', 'utf-8') as f:
        f.write('\n'.join(src_list))
    print(i)
    i += 1

    time.sleep(wait_sec)

Page de référence

[Python: raclage de sites Web avec BeautifulSoup4](http://momijiame.tumblr.com/post/114227737756/python-beautifulsoup4-%E3%82%92%E4%BD%BF%E3%81%A3 % E3% 81% A6-web-% E3% 82% B5% E3% 82% A4% E3% 83% 88% E3% 82% 92% E3% 82% B9% E3% 82% AF% E3% 83% AC% E3% 82% A4% E3% 83% 94% E3% 83% B3% E3% 82% B0% E3% 81% 99% E3% 82% 8B)

Grattage avec Python et Beautiful Soup

Recommended Posts

Grattage WEB avec BeautifulSoup4 (page du numéro de série)
Grattage WEB avec BeautifulSoup4 (page en couches)
[Note personnelle] Scraping de pages Web en python3
Web scraping avec python + JupyterLab
Enregistrez des images avec le web scraping
Grattage Web facile avec Scrapy
Web scraping débutant avec python
Gratter la page i-town avec du sélénium
Gratter le classement Web d'Alexa avec pyQuery
Web scraping avec Python Première étape
J'ai essayé webScraping avec python.
raclage Web
Premiers pas avec Python Web Scraping Practice
Site de courses de chevaux Web scraping avec Python
Surveillez les mises à jour des pages Web avec LINE BOT
Premiers pas avec Python Web Scraping Practice
Importez des vidéos de numéro de série avec Aviutl
Pratiquer le web scraping avec Python et Selenium
Scraping Web facile avec Python et Ruby
[Pour les débutants] Essayez le web scraping avec Python
Grattage au sélénium
Exécutez régulièrement le scraping WEB avec AWS-Lambda + Python + Cron
Grattage au sélénium ~ 2 ~
Grattage avec Python
Grattage avec Python
grattage Web (prototype)
Effacer et générer des fichiers de numéro de série avec un script shell
Grattage avec du sélénium
[python] Récupérez rapidement les métadonnées de la page Web avec lassie
Web scraping avec Python (prévisions météo)
Web scraping avec Python (cours de l'action)
Extraire des données d'une page Web avec Python
Analyse de données pour améliorer POG 1 ~ Web scraping avec Python ~
Afficher les colonnes et les variables du numéro de série avec le modèle de bouteille
Scrapage Web rapide avec Python (tout en prenant en charge le chargement JavaScript)
Les débutants en Python sont bloqués dans leur premier scraping Web
Communication série avec Python
Grattage réussi avec Selenium
Grattage en Python (préparation)
Essayez de gratter avec Python.
Résumé de la page Web (prétraitement)
Communication série avec python
Grattage avec Python + PhantomJS
Premiers pas avec le Web Scraping
Réalisation Flask-Python
Grattage avec du sélénium [Python]
Scraping avec Python + PyQuery
Gratter avec une belle soupe
Scraping RSS avec Python
Créer une animation gif à partir d'un fichier de numéro de série avec matplotlib
[Part.2] Exploration avec Python! Cliquez sur la page Web pour vous déplacer!
[Python] Lecture facile des fichiers image du numéro de série avec OpenCV
Afficher la page Web avec FastAPI + uvicorn + Nginx (conversion SSL / HTTPS)