Очистка данных howlongtobeat.com с python3, красивым супом и селеном (возможно) - PullRequest
0 голосов
/ 09 июня 2018

Интересно, как лучше всего было бы почистить несколько URL-адресов с сайта howlongtobeat.com

Я пытаюсь собрать электронную таблицу вместе и мне нужны эти данные

Моя идея состоит в том, чтобынам python3, beautifulsoup и selenium, но я не уверен, что лучший способ это сделать

Я использую командную консоль Linux (ubuntu 18.04) и могу использовать несколько советов (очень новых для этого)

Это код, который у меня есть:

url = 'https://howlongtobeat.com/game.php?id=38050'

response = get(url)

from bs4 import BeautifulSoup

html_soup = BeautifulSoup(response.text, 'html.parser')
type(html_soup)

game_containers = html_soup.find_all('div', class_ = 'li.short:nth-of-type(2)')

first_game = game_containers[0]
first_game.text

Есть ошибка, которая гласит:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

После этого возвращается:

'\nGod of War (2018) '

Что я хочу от этого, так это «30 1/2 часов» на странице (в идеале 30,5, но я думаю, что могу использовать Excel для этого, если на этом этапе нет способа сделать это)

Позвольте мнезнаете, как бы я это сделал

мне нужен селен?

Спасибо,

1 Ответ

0 голосов
/ 09 июня 2018
game_containers = soup.find_all('div', class_='game_times')

возвращает ResultSet таблицы статистики game_times.

Используйте [-1] для получения последнего элемента и получения его text:

print(game_containers[-1].find_all({'li': '    short time_100 shadow_box'})[-1].contents[3].get_text())

отпечатков:
30½ Hours

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...