不好意思,耍了白痴,網址的部分打錯了,更改後能順利執行了。
import requests
from bs4 import BeautifulSoup
kv={'user-agent':'Mozilla/5.0'}
r=requests.get("https://www.google.com/search?q=tucheng+weather",headers=kv)
demo=r.text
r.raise_for_status()
r.encoding=r.apparent_encoding
soup = BeautifulSoup(r.content)
temp=soup.find("div", attrs={"class": "BNeawe iBp4i AP7Wnd"}).text
print(temp)
print(demo)
#語音搜尋google
import speech_recognition #載入語音辨識套件
import tempfile#能用於生成臨時文件和目錄。https://docs.python.org/zh-tw/3/library/tempfile.html
from pygame import mixer#基於pygame模組,能用以播放MP3。https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/363871/
from gtts import gTTS#文字轉語音
import webbrowser#打開網頁
import requests #使用requests模組建立HTTP請求,從網頁取得想要的資料
from bs4 import BeautifulSoup#爬蟲用
def speak(sentence):
mixer.init()#將mixer初始化
with tempfile.NamedTemporaryFile(delete=True) as fp: #使用完檔案會自動將暫存檔刪除
tts=gTTS(text=sentence, lang='zh-TW')
tts.save("{}.mp3".format(fp.name))#存檔案
mixer.music.load('{}.mp3'.format(fp.name))#載入mp3檔案
mixer.music.play()#播放
def weather():
print ("請問想搜尋什麼?")
speak("請問想搜尋什麼")
try:
r = speech_recognition.Recognizer()
with speech_recognition.Microphone() as source: #把麥克風的輸出放在source內,作為聲源
r.adjust_for_ambient_noise(source, duration=0.5) #時間分析範圍改為0.5
audio = r.listen(source) #使Recognizer去聽(listen)聲源,並放入audio
query=r.recognize_google(audio, language='zh-TW')#語言設置為中文
print("您想搜尋的是:"+query)
speak("您想搜尋的是"+query)
wweb="http://www.google.com/search?q="+query#wweb=weather_web
kv={'user-agent':'Mozilla/5.0'}
res = requests.get(wweb,headers=kv)
demo=res.text
res.raise_for_status()
res.encoding=res.apparent_encoding
webbrowser.open(wweb, new=2)
print(demo)
except:
print("請再說一次")
speak("請再說一次")
weather()