第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Python/C# 的動(dòng)態(tài) Google 搜索

使用 Python/C# 的動(dòng)態(tài) Google 搜索

慕容3067478 2023-03-08 15:26:11
我想檢索 Google 搜索結(jié)果計(jì)數(shù)( 106,000,000 個(gè)結(jié)果(0.58 秒))。我用 Python 寫了這個(gè)腳本:import requests, webbrowserfrom bs4 import BeautifulSoupuser_input = input("Type in query: ")print("Googling..")link = "http://www.google.com/search?q=" + user_inputgoogle_search = requests.get(link)print(google_search.headers)#print it out as filewith open("Output.html", "w") as text_file:    print("{}".format(google_search.text), file=text_file)但是當(dāng)我查看文件時(shí),結(jié)果統(tǒng)計(jì)信息就丟失了。除了 Google Search API 之外,還有什么方法可以做到這一點(diǎn),這很糟糕,因?yàn)樗怯邢薜?,甚至無(wú)法獲得正確的結(jié)果。我寫過(guò) Python 和 C#,因?yàn)槲覂烧叨级?
查看完整描述

2 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

要從 Google 獲得正確的結(jié)果,您必須設(shè)置正確的User-Agenthttp 標(biāo)頭:


import requests

from bs4 import BeautifulSoup



user_input = input("Type in query: ")

print("Googling for keyword={}..".format(user_input))


params = {

    'q': user_input,

    'hl': 'en'   # <-- set hl=en to obtain english only results.

}

headers = {

    'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0'

}


google_search = requests.get("https://www.google.com/search", params=params, headers=headers)

soup = BeautifulSoup(google_search.content, 'html.parser')

print(soup.select_one('#result-stats').text)

打?。ɡ纾?/p>


Type in query: moon

Googling for keyword=moon..

About 1,720,000,000 results (0.99 seconds) 


查看完整回答
反對(duì) 回復(fù) 2023-03-08
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊

查看SelectorGadgetCSS Chrome 擴(kuò)展程序,通過(guò)在瀏覽器中單擊所需的元素來(lái)獲取選擇器。css或者,如果您不喜歡通過(guò)命令在開發(fā)工具控制臺(tái)中進(jìn)行選擇器,則可以使用它來(lái)測(cè)試選擇器$$('SELECTOR')

使用css選擇器更靈活,更易讀,嘗試使用select_one()orselect() bs4方法而不是find()findAll()。CSS選擇器參考

params此外,您可以像這樣傳遞 URL 查詢:

params = {

  'q': 'the most amazing query in 2021',

  'gl': 'hl',

}


requests.get(YOUR_URL, params=params)

代碼:


from bs4 import BeautifulSoup

import requests, lxml


headers = {

    'User-agent':

    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19582"

}


user_input = input("Type in query: ")

print(f"Googling... {user_input}")


params = {

  'q': user_input,

  'gl': 'hl',

}


soup = BeautifulSoup(requests.get('https://www.google.com/search', headers=headers, params=params).text, 'lxml')


print(f"Found {soup.select_one('#result-stats').text}"

      .replace("About", "about")

      .replace(" (", " in ")

      .replace(")", ""))


---------

'''

Type in query: fus ro dah

Googling... fus ro dah

Found about 628,000 results in 0.36 seconds 

'''

或者,您可以使用來(lái)自 SerpApi 的Google Organic Results API來(lái)實(shí)現(xiàn)相同的目的。這是一個(gè)帶有免費(fèi)計(jì)劃的付費(fèi) API。

您的特定示例的主要區(qū)別在于您不需要弄清楚為什么某些事情沒(méi)有按預(yù)期工作,因?yàn)樗呀?jīng)為最終用戶完成了。在這種情況下唯一應(yīng)該做的就是從結(jié)構(gòu)化的 JSON 字符串中獲取所需的數(shù)據(jù)。

集成代碼:

from serpapi import GoogleSearch

import os


user_input = input("Type in query: ")

print(f"Googling... {user_input}")


params = {

  "api_key": os.getenv("API_KEY"),

  "engine": "google",

  "q": user_input,

  "hl": "en"

}


search = GoogleSearch(params)

results = search.get_dict()


print(f"Total results: {results['search_information']['total_results']}\n"

      f"Time taken: {results['search_information']['time_taken_displayed']}")


-------

'''

Type in query: fus ro dah

Googling... fus ro dah

Total results: 663000

Time took: 0.59 sec

'''

免責(zé)聲明,我為 SerpApi 工作。


查看完整回答
反對(duì) 回復(fù) 2023-03-08
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)