Я новичок в поиске в сети и хочу сделать простую вещь: получить количество результатов в поисковых системах с помощью 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. Почему это ?
Если кто-нибудь знает более простой БЕСПЛАТНЫЙ способ сделать это, дайте мне знать. Мне просто нужно приблизительное количество результатов для группы слов.