Python Beautiful Soup Соскребая отдельные страницы с одной страницы - PullRequest
0 голосов
/ 26 октября 2018

Так что я планирую прочесать этот сайт, чтобы я мог получить данные отряда для каждой команды премьер-лиги.Может кто-нибудь помочь с тем, как я это сделаю?Под этим URL, под заголовком Премьер-лига, я вижу список команд внутри группы тегов пользовательского интерфейса.

Также я замечаю, что URL каждой команды выглядит следующим образом - https://www.skysports.com/arsenal,, и на этой странице ссылка для команды выглядит так: https://www.skysports.com/arsenal-squad.

Но это также верно и для не премьер-министраКоманды лиги.

Также сначала я смог почистить таблицу премьер-лиги для команд и их очков и т. д. и поместить это в CSV. Так что, может быть, я мог бы использовать это, чтобы затем создать URL-адреса, чтобы получить человекаданные команды.?Ниже приведено то, что у меня было в моем CSV, например:

Позиция, Команда, Пл, Ш, Д, Л, Ф, А, GD, Очки 1, Манчестер Сити, 9,7,2,0,26,3,23,23 2, Ливерпуль, 9,7,2,0,16,3,13,23

1 Ответ

0 голосов
/ 26 октября 2018

Используйте ссылки на главных страницах для определения правильного адреса страниц с подробной информацией, вместо того, чтобы угадывать URL (который, как вы упоминаете, не подходит для премьер-лиги).

Вам необходимо использовать beautifulsoup таким образом:

  1. Получите ссылку (a), которая ссылается на нужную вам страницу подробностей.
  2. Получите ссылку на эту ссылку
  3. Если ссылка относительная, вам нужночтобы сопоставить его с текущей страницей, извлеките путь из URL-адреса, используя urllib, затем используйте newpath=os.abspath(os.path.join(curpath,href)), вставьте его обратно в URL-адрес своего домена.
  4. Теперь у вас есть имя страницы сведений.

Вы можете придумать несколько разных случаев для того, на какой странице вы находитесь, ищите идентификатор или класс, который встречается только на странице, которую вы просматриваете, или строковый шаблон для определения.какой синтаксический анализатор страниц использовать.

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