Je m'inquiétais du grattage et je voulais obtenir des données pour le moment, j'ai donc essayé de gratter en me référant au site suivant. https://www.atmarkit.co.jp/ait/articles/1910/18/news015_2.html Je vais l'écrire comme une critique, alors j'espère que cela sera utile pour ceux qui sont nouveaux dans le scraping! Écrit dans Google Colab en utilisant Python. Par conséquent, il peut y avoir des différences par rapport à la description locale.
J'ai fait du grattage à la demande et une belle soupe. Sur demande, le web k spécifié et d'autres fichiers sont acquis, et les informations souhaitées sont extraites du fichier acquis par Beautiful soupe. Comme vous pouvez le voir sur le site, j'écris un programme pour obtenir le classement de la J League. De plus, j'ai écrit au point d'enregistrer en plus au format CSV. Le code utilisé cette fois est indiqué ci-dessous.
qiita.rb
from bs4 import BeautifulSoup
from urllib import request
url = 'https://www.jleague.jp/standings/j1/'
response = request.urlopen(url)
content = response.read()
response.close()
charset = response.headers.get_content_charset()
html = content.decode(charset, 'ignore')
soup = BeautifulSoup(html)
table = soup.find_all('tr')
standing = []
for row in table:
tmp = []
for item in row.find_all('td'):
if item.a:
tmp.append(item.text[0:len(item.text) // 2])
else:
tmp.append(item.text)
del tmp[0]
del tmp[-1]
standing.append(tmp)
for item in standing:
print(item)
import pandas as pd
from google.colab import files
del standing[0]
df = pd.DataFrame(standing,columns = ['Classement', 'Nom du club', 'Gagnez des points', 'Nombre de parties', 'Gagner', 'Minutes', 'négatif', 'But', 'Concédé', '得Concédé'])
from google.colab import drive
filename = 'j1league.csv'
path = '/content/drive/My Drive/' + filename
with open(path, 'w', encoding = 'utf-8-sig') as f:
df.to_csv(f,index=False)
Depuis que je l'ai implémenté en le vérifiant en détail en cours de route, j'ai mis print () entre les deux, mais ici, je mets en œuvre jusqu'à enregistrer dans un fichier à la fois.