Выбор подходящего тега для перехода в метод выбора BeautifulSoup - PullRequest
0 голосов
/ 15 февраля 2019

Итак, я просматривал онлайн-книгу «Автоматизировать скучные вещи с помощью Python» и узнаю о BeautifulSoup.Моя проблема в том, что я не могу понять, как выбрать подходящий тег на основе того, что я нахожу с помощью инструментов разработчика в Chrome.

<div data-hveid=.....>
  <div class="rc">
   <a href="https://www.python.org/".....>
        <h3 class="LC20lb">Welcome to Python.org</h3>
# Using select to grab links to search results. 
linkElems = soup.select('r .a')

Пример результатов инспектора. В книге целью было собрать все ссылки, которые отображаются на странице результатов поиска в поиске Google.Для этого автор использует строку soup.select ('r .a').Но когда я пользуюсь инспектором, я получаю тег "href".

Я сам хотел также получить заголовок / заголовок ссылки, которая появляется на странице результатов поиска.Инспектор выделяет тег «h3 class».Я попытался выбрать это, сказав select, чтобы искать теги с атрибутом class, равным «LC20lb», но я продолжаю получать пустой список в качестве вывода.

Так что мой вопрос, как только инспектор помог нам сузить нашсосредоточиться, как мы знаем, какой тег является подходящим для выбора?Например, как автор узнал, что вместо тега "href" мы должны вместо этого использовать ".ra"?В общем, как далеко "вне", то есть какого предка, я должен выбрать, когда селектор показал мне определенный элемент?

1 Ответ

0 голосов
/ 15 февраля 2019

Если вы делаете 'href', вы не указали класс div, поэтому он получит все экземпляры href, которые будут включать ссылки на такие вещи, как карты, диск и т. Д. В коде, который вы цитируете,вы пропустили класс "r" div

    <div data-hveid=.....>
      <div class="rc">
        <div class="r">        
          <a href="https://www.python.org/".....>
            <h3 class="LC20lb">Welcome to Python.org</h3>

Итак, soup.select ('. r a') получает все теги a в классе "r" div (который является результатами поиска), скореечем все экземпляры тегов href.

Надеюсь, что это ответ на ваш вопрос!

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