Результат Beautiful Soup отличается от исходного кода - PullRequest
0 голосов
/ 29 февраля 2020

Я новичок в поиске в сети и хочу сделать простую вещь: получить количество результатов в поисковых системах с помощью Python. Это просто число, которое вы можете увидеть сверху или снизу, когда вы ищете что-то в inte rnet. Я использую Beautiful Soup для этого, но когда я получаю результаты нужного тега, он отличается от того, что на самом деле находится на веб-странице и в исходном коде. Это связано с каким-то типом кодирования? Мой код:

def number_of_results(text):
  #prepare text for URL
  text=text.replace(" ","+")
  # URl to web scrap from
  page_url="https://www.bing.com/search?q="+text

  # opens the connection and downloads html page from url
  uClient = uReq(page_url)

  # parses html into a soup data structure to traverse html as if it were a json data type.
  page_soup = soup(uClient.read(), "html.parser")
  uClient.close()
  # finds each product from the store page
  result = page_soup.find("span", {"class": "result-count"}).contents
  result = str(result[0]).replace(" ","").replace("/n","").replace(",","")

  return int(result)

Сначала я попробовал Google, но через некоторое время был заблокирован, поэтому перешел на Ecosia. Здесь вы можете видеть, что на странице и в исходном коде у меня номер, отличный от one , который я получаю с Beautiful Soup. Почему это ?

Если кто-нибудь знает более простой БЕСПЛАТНЫЙ способ сделать это, дайте мне знать. Мне просто нужно приблизительное количество результатов для группы слов.

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