'NoneType', используя BeautifulSoup, чтобы скопировать описание поиска в DuckDuckGo - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь получить небольшое описание ниже результата на Duckduck go, но каждый раз, когда я пытаюсь это сделать, я получаю типичное сообщение о том, что объект 'NoneType' не имеет атрибута 'get_text', поэтому я просто действительно никуда не попадаю не спал до 4 часов утра, из-за этого HTML это:

<div id="web_content_wrapper" class="content-wrap">
  <div class ="cw">
    <div id="links_wrapper class="serp__results js-serp-results">
      <div class="results--main"
        <div id="links" class="results js-results">
          <div id="r1-0" class="result results_links_deep highlight_d result--url-above-snippet">
            <div class="result__body links_main links_deep">
              <div class="result__snippet js-result-snippet"> [This one contains the description text]

И код Python, который я пытался сделать:

import requests
from bs4 import BeautifulSoup

URL = 'https://duckduckgo.com/?q=et+al+significado&t=opera&ia=web'

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36 OPR/67.0.3575.130"}

page = requests.get(URL, headers=headers)

soup = BeautifulSoup(page.content, "html.parser")

desc = soup.find('div', class_="result__snippet js-result-snippet").get_text()

print(desc) -- Result is: 'NoneType' object has no attribute 'get_text'

Я действительно нужна помощь для этого, пожалуйста, по-видимому, многие из них невидимы или что-то в этом роде, я не уверен, но я новичок и черт возьми.

1 Ответ

0 голосов
/ 04 мая 2020

Поскольку веб-контент JS загружается динамически, текст, который вы получаете HTML, не имеет этого содержимого.

...